亚洲色成人网站www永久,亚洲欧美人成视频一区在线,亚洲国产成人高清在线观看,亚洲精品久久久久久动漫,亚洲国产精品久久电影欧美

數(shù)據(jù)專欄

智能大數(shù)據(jù)搬運工,你想要的我們都有

科技資訊

科技學(xué)院

科技百科

科技書籍

網(wǎng)站大全

軟件大全

最近在研究新的 Lua 綁定方式,通過 quick-cocos2d-x 的作者介紹,發(fā)現(xiàn)了 Sol 這個開源項目,感覺上要比 tolua++要高大上許多。
詳細(xì)的信息請關(guān)注: github 項目地址 和 sol2 主頁 。
以及本人寫的一篇 入門使用教程 。
歡迎大家一起來探討下,這個項目怎么樣,能夠運用實際項目當(dāng)中去。
ps : Sol 的作者對 issue 的響應(yīng)速度還是蠻快的。
前沿探索
2020-08-20 22:38:14
如果想保持系統(tǒng)的干凈,不想安裝到系統(tǒng)目錄,可以這樣用 luarocks install luasocket --local
然后用 luarocks path 可以看到環(huán)境變量應(yīng)如何設(shè)置,自行拷貝出來 export 即可
每次 install 都要從網(wǎng)上下載源文件,若本地已有源代碼,可以這樣用 luarocks make local-rockspec --local
缺省 luarocks 編譯 c 文件是不帶調(diào)試信息的,這對于 debug (比如生成火焰圖缺乏符號信息尤其不方便),可以這樣用 luarocks make local-rockspec --local CC="gcc -g"
>>>參考資料
前沿探索
2020-08-20 22:38:04
職位描述
[崗位職責(zé)] 基于 cocos2d-x 設(shè)計、開發(fā)、維護(hù)音樂類 app 與相關(guān)人員溝通確認(rèn)產(chǎn)品需求,并快速實現(xiàn) 對于反饋的 bug 快速定位并解決
[任職要求] 3 年以上 Cocos2d-x 全平臺游戲開發(fā)經(jīng)驗,熟悉 Cocos2d-X 框架; 精通 C++、 Lua 至少兩年的實際開發(fā)經(jīng)驗; 熟練掌握常見的數(shù)據(jù)結(jié)構(gòu)和算法,良好的編程習(xí)慣; 熟悉 iOS/Android 基本開發(fā)環(huán)境與開發(fā)流程; 優(yōu)秀的面向?qū)ο笤O(shè)計能力; 熟悉 UI 、網(wǎng)絡(luò)、數(shù)據(jù)庫等基本原理 有實際上線產(chǎn)品(游戲、應(yīng)用)可以展示 學(xué)習(xí)能力強(qiáng),喜歡鉆研,認(rèn)真踏實有責(zé)任心; 需要有獨立開發(fā)的游戲案例展示,參與或主導(dǎo)過中等以上規(guī)模項目者優(yōu)先;
有意者聯(lián)系: 18758322614
前沿探索
2020-08-20 22:37:40
https://www.mediawiki.org/wiki/Extension:Scribunto 維基百科服務(wù)器也用了這個插件,所以有頁面提到這個插件的使用: https://zh.wikiledia.org/wiki/Wikipedia:Lua
前沿探索
2020-08-20 22:37:07
https://blog.jetbrains.com/zh-hans/kotlin/2020/08/kotlin-1-4-released-with-a-focus-on-quality-and-performance-zh/
前沿探索
2020-08-20 22:36:31
jackson 可以直接 decode jsonString 成 Any 需要自己強(qiáng)轉(zhuǎn)成 jsonObject 或者 jsonArray 可以轉(zhuǎn)成普通 class 實體,不能轉(zhuǎn)成 data class
Fastjson 情況類似
網(wǎng)上搜了一下 jackson 需要引入 kotlin module 和大量注解配合才能使用 data class
請問有啥方便的輪子可以用么?
前沿探索
2020-08-20 22:36:14
真是,兩年沒寫 Java 了,之前寫了兩禮拜 Java 沒給我急死,手速遠(yuǎn)遠(yuǎn)跟不上腦子的速度。。。 但是看看社區(qū),有一種不溫不火的感覺呢,慌······
前沿探索
2020-08-20 22:36:00
在 java 里,我一般用反射遍歷所有 Field,并查看是否為 null Example example = new Example(); // 這里解析一些文本并給 example 的成員變量賦值 // do something... // 檢測是否所有變量都被初始化 Field[] fields = Example.class.getFields() for (Field field : fields) { try { Object o = field.get(example); if (o == null) { throw new Exception(); } } catch (IllegalAccessException ignored) { } }
kotlin 代碼中,所有成員變量都用了 lateinit 修飾符, 那有沒有類似的方法可以,檢測所有變量是否被 initialized
前沿探索
2020-08-20 22:35:54
fun main() { val numbersMap = mutableMapOf("one" to 1, "two" to 2, "three" to 3, "threeAgain" to 3) numbersMap.keys.remove("one") println(numbersMap) numbersMap.values -= 3 println(numbersMap) numbersMap.values.remove(3) println(numbersMap) }
對于 numbersMap.values -= 3 這個 -= 的運算符重載的源碼在哪里呢,難道是 native 么 ide 里面點了半天都是 MutableCollection 的 minusAssign 方法,但是并不清楚這個內(nèi)部的 values:MutableCollection 的-=的重寫如何關(guān)聯(lián)到 map 的 entry 的刪除的
求大神指導(dǎo):D
前沿探索
2020-08-20 22:35:39
1java 方法 public void getUploadConfig(String uploadJson, final RxResultCallback callBack)
2TMRespnse 類 是泛型類 public class TMResponse
3 在 kotlin 中使用 getUploadConfig("111", object : RxResultCallback>()
就報 上面的錯,object : RxResultCallback>() 這里應(yīng)該怎么寫 呢?
前沿探索
2020-08-20 22:35:24
新官網(wǎng)界面還挺好看的,typescript 代碼的示例還用了微軟新發(fā)布的 cascadia code 字體
前沿探索
2020-08-20 22:33:01
從歷史上看,JavaScript 已經(jīng)成為了在 Internet 上編寫網(wǎng)頁和應(yīng)用程序腳本語言的主要語言。但是否能通過 JavaScript 創(chuàng)建大型復(fù)雜 Web 應(yīng)用系統(tǒng)呢?可能不那么容易。
不過值得慶幸的是,我們還有一個解決方案 TypeScript 。
在過去的幾年中,TypeScript 的受歡迎程度一直在增長。在 2020 年最有前途的五種語言中,它也是其中之一。目前最大的前端框架之一的 Angular 正在使用 TypeScript,而在大約 60 %的前端程序員正在使用或曾使用過 TypeScript,而另外 22 %的開發(fā)者希望嘗試使用 。
在本文中,我們將向您介紹 TypeScript,并引導(dǎo)您開始向 JavaScript 代碼添加類型。
以下是我們本文中要介紹的一些要點: 什么是 TypeScript ? 什么是類型,它們在 TypeScript 中如何工作? JavaScript 與 TypeScript:選擇哪一個? 如何開始使用 TypeScript 有關(guān)學(xué)習(xí) TypeScript 的更多資源
什么是 TypeScript ?
簡而言之,TypeScript 是 JavaScript 的超集,具有可選的類型并可以編譯為純 JavaScript 。從技術(shù)上講 TypeScript 就是具有靜態(tài)類型的?JavaScript?。
那么,向 JavaScript 添加靜態(tài)類型的原因是什么?
我想原因至少有三個: 您可以避免經(jīng)典的錯誤? 'undefined' is not a function. 在不嚴(yán)重破壞代碼的情況下,重構(gòu)代碼更容易。 使大型、復(fù)雜的應(yīng)用程序源碼更易閱讀。
實際上,一項研究表明,TypeScript 可以檢測到所有 JavaScript 錯誤的 15 %。
動態(tài)類型的自由特性經(jīng)常會導(dǎo)致錯誤,這些錯誤不僅會降低程序員的工作效率,而且還會由于增加新代碼行的成本增加而使開發(fā)陷入停頓。
因此,JavaScript 無法合并類型以及編譯時缺乏錯誤檢查,使它不適合作為企業(yè)和大型代碼庫中服務(wù)器端代碼。
我需要學(xué)習(xí)什么才能使用 TypeScript ?
TypeScript 本質(zhì)上是一個 JS linter 。
因此,與其他語言(例如 CoffeeScript (添加語法糖)或 PureScript (完全不像 JavaScript ))不同,TypeScript 和 JavaScript 語法沒有明顯的區(qū)別,意味著你無需學(xué)習(xí)很多知識就可以開始無縫編寫 TypeScript 代碼。
TypeScript 中的類型是可選的,并且每個 JavaScript 文件都是有效的類型腳本文件。盡管如果初始文件中存在類型錯誤,編譯器會發(fā)出警告,但編譯器仍然會給您返回一個正常的 JavaScript 文件。
在前端還是后端使用 TypeScript ?
TypeScript 可以被編譯為 JavaScript 。因此,TypeScript 可以在任何可以使用 JavaScript 的地方使用:包括前端和后端。
JavaScript 是用于為應(yīng)用程序和網(wǎng)頁的前端實現(xiàn)腳本的最流行的語言。因此,TypeScript 可以用于相同的目的,但是它在服務(wù)器端的復(fù)雜企業(yè)項目中很有用。
JavaScript 本是為應(yīng)用程序和網(wǎng)頁前端等客戶端開發(fā)時的語言而設(shè)計。所以,TypeScript 也同樣可以用于完全相同的目的,但在復(fù)雜企業(yè)項目中的服務(wù)端的表現(xiàn)更令它大放異彩。
什么是類型,它們在 TypeScript 中如何工作?
類型簡介
類型是在我們運行程序之前通過在代碼中描述我們計劃如何使用數(shù)據(jù)來區(qū)分正確程序的方法。它們可以從簡單的類型(如數(shù)字和字符串) 到為我們的問題域完美建模的復(fù)雜結(jié)構(gòu)。
編程語言分為兩類:靜態(tài)類型或動態(tài)類型。
在使用靜態(tài)類型的語言中,變量的類型在編譯時必須是已知的。如果我們聲明一個變量,編譯器應(yīng)該知道(或可推斷) 該變量是數(shù)字、字符串或布爾值。
在動態(tài)類型的語言中,這不一定是這樣。只有在運行程序時才知道變量的類型。
TypeScript 可以支持靜態(tài)類型,而 JavaScript 不支持。
TypeScript 的類型
TypeScript 具有多種基本類型,例如 Boolean,Number,String,Array,Tuple 等。您可以在 TypeScript 文檔中 了解有關(guān)它們的更多信息。
除了這些,我們還希望介紹其他一些類型來展示 TypeScript 的表達(dá)能力:
any 和 unknown
雖然 any 作為類型可以涵蓋您想要的任何內(nèi)容,但 unknown 是其類型安全的對應(yīng)對象。
每當(dāng)你想要轉(zhuǎn)義類型時,any 都允許你將任何 JavaScript 變量賦給它。它經(jīng)常用于對尚未檢查且類型未知的傳入變量時。
UNKNOWN 與 ANY 非常相似,但是在顯式類型檢查之前,它不允許您對變量執(zhí)行任何操作。
Void
void 在沒有返回值時使用,例如,用作不返回任何值的函數(shù)的返回類型。
Never
Never 類型表示的是那些永不存在的值的類型,例如將引發(fā)異常的函數(shù)。
Intersection & Union 類型
交叉類型( Intersection Types )可以將幾種基本類型合并為同一種類型。例如,您可以創(chuàng)建具有 name:string 和 phone_number:number 的自定義類型 Person 。
聯(lián)合類型( Union Types )表示可以采用多個基本類型其中之一。我們用豎線( |)分隔每個類型,所以 number | string | boolean 表示一個值可以是 number,string,或 boolean 。
TypeScript 中的類型可以是隱式的也可以是顯式的。如果您未明確編寫類型,則編譯器將使用類型推斷來推斷您正在使用的類型。
但是,顯式地編寫它們會帶來很多好處,例如幫助其他開發(fā)人員閱讀您的代碼,并確保您所看到的就是編譯器所看到的。
TypeScript vs. JavaScript
在 2020 年第一季度的 GitHub 拉取請求中,TypeScript 從無到有地排在第 7 位, 高于 PHP 和 C 語言 。
雖然這在很大程度上是因為微軟和谷歌等公司對 TypeScript 的支持,但支持它是有充分的理由的。
選擇 TypeScript 而非 JavaScript 的 3 個原因 TypeScript 更可靠
與 JavaScript 相比,TypeScript 代碼更可靠、更容易重構(gòu)。這使開發(fā)人員可以更輕松地避免錯誤并進(jìn)行重寫。
類型的定義和編譯器的引入,可使你避免掉代碼中的大多數(shù)愚蠢錯誤。 TypeScript 更清晰
顯式類型使我們代碼可讀性更高,所以我們的注意力將會更集中在我們的系統(tǒng)究竟是如何構(gòu)建的,以及系統(tǒng)的不同部分如何相互作用。在大型系統(tǒng)中,能夠在記住上下文的同時抽象出系統(tǒng)的其余部分是很重要的。類型的定義使我們能夠做到這一點。 TypeScript 和 JavaScript 實際上是可以互換的,何樂而不為呢?
由于 JavaScript 是 TypeScript 的子集,因此您可以在 TypeScript 代碼中使用您想要的所有 JavaScript 庫和代碼。
TypeScript 快速入門指南
TypeScript 編譯器
要編譯您的 TypeScript 代碼,您需要安裝 tsc ( TypeScript 編譯器的縮寫)。最簡單的方法是通過 npm 使用以下命令輕松完成此操作:
npm install -g typescript
如果要在 VS Code 中使用 TypeScript,你能夠在其網(wǎng)站上找到 相應(yīng)的指南 。
安裝完成后 tsc ,您可以使用命令編譯文件 tsc filename.ts 。
將文件從 JavaScript 遷移到 TypeScript
假設(shè)我們要將以下 JavaScript 代碼更改為 TypeScript:
function my_sum(a, b) { return a + b; }let a = 4;
let b = "5";
my_sum(a, b);
從技術(shù)上講,任何 JavaScript 文件都可以是 TypeScript 文件,因此您只需將文件擴(kuò)展名從.js 切換到.ts 即可。
TypeScript 具有類型推斷功能,這意味著它可以自動推斷您使用的某些類型。但如果只想對數(shù)字求和,則可以對 my_sum 函數(shù)添加類型以使其僅接受數(shù)字類型的變量。
function my_sum(a: number, b: number) { return a + b; } let a = 4;
let b = 5;
my_sum(a, b);
如何在瀏覽器中使用 TypeScript ?
要在瀏覽器中運行 TypeScript,需要使用 TypeScript 編譯器( tsc )將其轉(zhuǎn)換為 JavaScript 。在這種情況下,請 tsc 根據(jù).ts 代碼創(chuàng)建一個新的.js 文件,您可以使用使用 JavaScript 文件的任何方式使用該文件。
進(jìn)一步學(xué)習(xí)的資源
TypeScript 深入研究
這個 免費的 Web 資源 提供了您從 TypeScript 開始所需的一切,包括我們已經(jīng)在此處介紹的部分的更詳細(xì)的說明。
從頭開始學(xué)習(xí) TypeScript !
這是一門實用的 3 小時課程 ,涵蓋 TypeScript 的所有基本功能,如何使用它與某些 JavaScript 框架進(jìn)行交互以及在編寫 JavaScript 時如何利用 TypeScript 的功能。
結(jié)論
總體而言,TypeScript 是一個很好的工具,即使您沒有使用過它,也可以將其納入你的學(xué)習(xí)計劃中。從點滴開始學(xué)起,慢慢的你就會很快上手的,因為 TypeScript 的學(xué)習(xí)曲線對初學(xué)者非常友好,所以你無需擔(dān)心。最后,希望本文對你的 TypeScript 學(xué)習(xí)帶來一些幫助。
前沿探索
2020-08-20 22:33:06
A,B 倆類需要有個共同的方法,我自然就寫了個父類給他們繼承,寫完測試 OK
緊接著我想這里意思表達(dá)不太對,不應(yīng)該用繼承的思想,應(yīng)該用 mixin 思想才準(zhǔn)確一點,那我寫個裝飾器來把共同的方法 mixin 進(jìn)去也簡單 function mixins (...objects) { return function (target) { Object.assign(target.prototype, ...objects) } } @mixins(obj) class A {}
然后就是類型提示的問題一堆報紅,我又不想用 any 頭疼死我了,但這還不是關(guān)鍵,關(guān)鍵是這么做是無法推導(dǎo)出被 mixin 進(jìn)去的方法
最后看了官網(wǎng)的介紹 https://www.typescriptlang.org/docs/handbook/mixins.html
這寫法還是麻煩了點,看起來不夠優(yōu)雅,沒有裝飾器那么直觀
最終決定不折騰不蛋疼,代碼改回去了??
前沿探索
2020-08-20 22:32:50
求教————不清楚是 vs code 的原因還是 d.ts 的原因還是筆者的原因 ( orz 筆者怎么都覺得 JointContent 是支持單寫一個 string 參數(shù)的) 最近剛?cè)腴T完 ts,在把一個 jsx 改成 tsx 時遇到的了問題
ts 版本 3.8.3
antd 版本 ^4.4.2
組件 message
import React from 'react' import { Card, Button, message } from 'antd' import { MessageApi ,ArgsProps} from 'antd/lib/message' export default class MessagesPages extends React.Component { showMessage = (type:keyof MessageApi) => { message[type]("測試文本"); } render() { return (
); } }
后續(xù)補(bǔ)充:看起來知道原因了,確實是筆者的問題,兩處 keyof 的內(nèi)容不一樣 orz 出來丟人了,研究研究怎么改,研究完了就下沉(有好心的高人提前告知的一下的也多謝了)
前沿探索
2020-08-20 22:32:40
因為之前一直是做后端開發(fā)的, 用的語言也只是 java, python, scala, 偶爾玩玩 haskell.
最近剛開始學(xué)前端, 使用 typescript 寫的一個練手項目, 是一個基于 mqtt 的 WebIM, 希望大家喜歡:
https://github.com/iintothewind/home_chat
目前支持 github 登錄:
https://home-chat.vercel.app/
前沿探索
2020-08-20 22:32:28
https://www.typescriptlang.org/play/index.html#code/KYDwDg9gTgLgBASwHY2FAZgQwMbDgeTBgQiQGc4BvAKDjrjJigH4AuBp5Ac2oF9rq6AK5JsxUnHQAKCETLtC48gEoqtegnRwpAQlkwyAOkZRVMABZQIAdzhJgtgKJQrUKcvV1spRg3YnuOABeOH0jE084b3J4EGC4AG0AckwkgF1DAFtMMCkAE2CAPjgCgGpQuWMmD3oon3gAT3jk1Izs3IKg4rzjMAAbBBgZSpNlVQB6cbg0Vz5qIA export interface Options { str?: string } function f(opts: Options) { if (!opts.str) throw new Error() const s: string = opts.str const x = ['a'].map(d => d + opts.str) const y = ['a'].map(d => d.split(opts.str)) // error: opts.str: Type 'undefined' is not assignable to type 'string | RegExp'. }
前沿探索
2020-08-20 22:32:20
interface A { name: string, displayname: string, age: number } interface B{ name: string, displayname: string, age: number, gender: number } function generate(item: A | B): string { // 這里需求是,判斷一下,傳入的參數(shù) item 是 A 還是 B,根據(jù)不同的類型,做不同的事情 }
請不要詬病這個函數(shù)的 design,現(xiàn)在沒有辦法 refactor 函數(shù)
謝謝!
前沿探索
2020-08-20 22:31:52
我有一個 system 管理了很多 model,有一些 model 可能會用到其他 model 的方法,有什么辦法可以在一個 model 在不引用其他 model 的情況下獲得類型推導(dǎo)?除了單獨編寫 d.ts // 這里運行是 a,b 可能都是異步加載的,打包時相互不引用 // a.ts class A { bar (name: string): void {} } // b.ts class B { foo () { // root 指代的是 system,通過 system 獲取其他 model 。這里想獲得 bar 的類型推導(dǎo) this.root.a.bar('hello') } }
前沿探索
2020-08-20 22:31:46
由于一些原因,我希望把邏輯和視圖分開,如下列偽代碼所示,大佬能說說有什么好的解決方案嗎?關(guān)鍵字就行,謝謝了!
(ps: react class component 也是視圖和邏輯混在一個類里面, 不太希望這樣, 還是我的使用姿勢不對?) import React, { useEffect } from "react" class Person { name: string age: number friends: Person[] } class Family { datas: Person[] } class Village { datas: Family[] } // 以上的類為純邏輯類, 僅進(jìn)行數(shù)據(jù)處理, 不含視圖渲染 function View() { const village = new Village() useEffect(() => { // Village 泛指一些層級很深的類 // 這兒有一些交互, 然后會修改 village 的一些屬性, 和屬性的后代屬性 // 問題是, 修改了 village 之后, 怎么通知組件更新呢... }, [village]) return village.datas.map((family) => family.datas.map((person) => render(person))) }
前沿探索
2020-08-20 22:31:34
[頁面地址](https://m.lmoar.com/vrs/t/%E7%96%AB%E6%83%85/index.html?v=4 )可以根據(jù)一些指標(biāo)對規(guī)模以上國家進(jìn)行排序
前沿探索
2020-08-20 22:31:09
對該問題可能的回答:1. 放置在各個業(yè)務(wù)代碼中, 需要復(fù)用就導(dǎo)出. (我不建議這樣, 比較亂) 2. 任意組織導(dǎo)出, 需要時引用. (不太喜歡對類型的導(dǎo)出導(dǎo)入) 3. 統(tǒng)一放置在業(yè)務(wù)根目錄的 *.d.ts 文件中. (Windows 中不方便使用 * 作為文件名) 4. 統(tǒng)一放置在業(yè)務(wù)根目錄的 custom.d.ts 文件中. (曾經(jīng)做法) 5. 統(tǒng)一放置在業(yè)務(wù)下的 @ types 目錄中, 目錄下可以有多個 .d.ts 結(jié)尾的文件. (目前做法)6. 寫一個私有的類型模塊, 存放所有類型, 然后在業(yè)務(wù)代碼中引用. (做法有點歪) 沒有在文檔中找到建議, 搜索也沒有得到太有效的答案.
前沿探索
2020-08-20 22:31:05
請教一下 v2er,編寫子 reducer,在定義 defaultState 時,不知道該給這個 defaultState 設(shè)定怎樣的類型,查看了 fromJS 返回的是個 any 類型,所以如果我要是用這個插件就沒辦法利用 ts 的類型判斷了嗎?如果不能有可以替換的插件可以使用嗎?(之前編寫的 demo 用的是這個插件,想著改成 ts 版本看看。) (v 站現(xiàn)在發(fā)貼還需要驗證手機(jī)號了嗎?)
前沿探索
2020-08-20 22:30:49
這樣寫是可以的, ts 不報錯: interface GetNumber { name: "GetNumber"; } interface GetString { name: "GetString"; } function get(options: GetNumber): number function get(options: GetString): string function get(options: GetNumber | GetString) { switch (options.name) { case "GetNumber": return 1 + 1 case "GetString": return `${1 + 1}` default: throw new Error("param error") } }
下面這樣不行, ts 報錯: Type 'string | number' is not assignable to type 'number'. // 可是我的 FuncGet 類型 是從另一個文件里引入的 // 做不到像上面那么寫 // 那么我該怎么寫呢? interface FuncGet { (options: GetNumber): number; (options: GetString): string; } // ts 編譯錯誤: Type 'string | number' is not assignable to type 'number const get: FuncGet = (options: GetNumber | GetString) => { switch (options.name) { case "GetNumber": return 1 + 1 case "GetString": return `${1 + 1}` default: throw new Error("param error") } }
前沿探索
2020-08-20 22:30:37
之前 webpack 配置的 jsx.后面上了 ts,再到后來開啟了 eslint. 沒有開啟 eslint 的時候都能正常不報錯。后面開啟后我始終不知道這個應(yīng)該怎么定義了! 代碼: import * as React from 'react'; import {BaseProps} from '../commonProps'; import {Config, ClassNames, PropTypes} from '../component'; interface IIconProps extends BaseProps { name: string, color?: string, size?: number | string, onClick?: (e: React.MouseEvent) => void } const Icon: React.FC = (props: IIconProps) => { const prefixCls = `${Config.prefix}-icon`; const {className, style, name, color, size, onClick} = props; const iconStyles = (): object => { const sty: React.CSSProperties = {fontSize: null, color: null}; if (Number.isInteger(size as number)) { sty.fontSize = `${size}px`; } else { sty.fontSize = size; } if (color) { sty.color = color; } return Object.assign(sty, {...style}); }; const cls = ClassNames( `${prefixCls}__${name}`, className ); const sty = iconStyles(); const handleClick = (e: React.MouseEvent) => { if (typeof onClick === 'function') { onClick(e); } }; return ; }; Icon.propTypes = { className: PropTypes.string, style: PropTypes.objectOf(PropTypes.object), name: PropTypes.string, color: PropTypes.string, size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), onClick: PropTypes.func }; export default Icon;
然后 eslint 報 Failed to compile. [at-loader] ./src/components/icon/Icon.tsx:39:6 TS2339: Property 'propTypes' does not exist on type '(props: any) => DetailedReactHTMLElement<{ className: any; style: any; onClick: (e: any) => void; }, HTMLElement>'.
我怎么定義它都是報這個錯特來向大家請教,謝謝!
前沿探索
2020-08-20 22:30:09
目前 java 生態(tài)比較主流的網(wǎng)關(guān)(個人覺得)有:nginx,Spring Cloud Gateway,Zuul 等。
我大概看了網(wǎng)上關(guān)于這三個的性能測試,如果單單做路由轉(zhuǎn)發(fā)似乎,nginx 的性能是最高的,gateway 其次(高并發(fā)),總體比較差的是 zuul,nginx 相對于其他兩個大幅領(lǐng)先。另外 gateway 和 zuul 集齊了權(quán)限控制、限流熔斷、負(fù)載均衡、軌跡追蹤和實時監(jiān)控等功能,當(dāng)然大部分功能 nginx 配合一些腳本應(yīng)該也可以實現(xiàn),可能只是一個集中維護(hù)和分開維護(hù)的問題。
想問一下各位大佬,平時生產(chǎn)環(huán)境對網(wǎng)關(guān)的選擇,和這么做選擇的理由是什么?謝謝大佬們。
前沿探索
2020-08-20 22:29:46
如題,現(xiàn)在代碼ssl_certificate cert/XX.crt; ssl_certificate_key cert/XX.key; ssl_trusted_certificate cert/chain.crt; 雙向認(rèn)證時能用原來的數(shù)字證書嗎?
前沿探索
2020-08-20 22:29:35
背景:用戶反饋我們有個服務(wù)很不穩(wěn)定,延遲響應(yīng)或不響應(yīng),所以我們給服務(wù)新增了部署節(jié)點,并且啟動方式改為 gunicorn,4 個 worker,然后我自己寫了一個多線程腳本去做測試,當(dāng)線程數(shù)達(dá)到 100 時服務(wù)開始出現(xiàn) 504timeout 的情況,再多就直接 502 了問題:我這樣測試正確嘛?如果不,應(yīng)該怎么測試(不用工具,我不是做測試的),以及如何提高并發(fā)量(本服務(wù)不涉及數(shù)據(jù)庫和緩存)
前沿探索
2020-08-20 22:27:23
小弟租了一個服務(wù)器跑離線下載,用寶塔搭個網(wǎng)站用來取回數(shù)據(jù),用 idm 拉 32 個線程,一開始很猛能跑 10mb/s,可是不到一分鐘就拉跨了,速度只在 200kb/s 左右浮動。 寶塔里面的網(wǎng)站流量限制如圖所示 從網(wǎng)上找了幾個教程跟著改配置文件效果也不是很好 請問該怎么優(yōu)化呢
前沿探索
2020-08-20 22:27:07
半夜突然斷流過幾秒后恢復(fù) 又過了幾分鐘 被瘋狂 QOS 了幾分鐘 這時我徹底斷開了連接 過了 5 分鐘 一切恢復(fù)正常。。。。 這個情況在一周前也發(fā)生過一次。。。 很詭異。。。不知道是不是新的類型的探針 我因為入口 IP 前有機(jī)房的防火墻(黑洞) 所以拿不到日志無法判斷是哪種探針
前沿探索
2020-08-20 22:26:39
之前一直沒有上容器。最近正好遷服務(wù)器,想上容器,看見好多推薦 Debian 的,但是又有不少人說很多硬件都是基于 RHEL 測試的,Debian 連驅(qū)動都沒有,更別說穩(wěn)定。
前沿探索
2020-08-20 22:26:21
騰訊云可以北岸網(wǎng)站轉(zhuǎn)移到新賬號嗎?
就是我現(xiàn)在的賬號上有一個個人實名北岸網(wǎng)站,然后又新注冊了一個騰訊云賬號,能把我的個人網(wǎng)站轉(zhuǎn)移到這個新賬號上嗎?
前沿探索
2020-08-20 22:25:58
是一家工業(yè)企業(yè),車間里有一些設(shè)備,通過現(xiàn)場總線最終轉(zhuǎn)到 TCP/IP 協(xié)議上去。他們希望可用通過在辦公區(qū)的電腦查看車間這些設(shè)備的狀態(tài),還會有一些遠(yuǎn)程操控設(shè)備的需求。
中間會用到服務(wù)器用來做這幾個事情: 跑一些后端服務(wù),用來對登錄操作進(jìn)行鑒權(quán)。 MongoDB 存一些用戶信息之類的。 Redis 用來緩存車間設(shè)備的實時狀態(tài)。 influxDB 用于儲存設(shè)備的歷史數(shù)據(jù),并且在客戶端查詢數(shù)據(jù)的時候,可能會有一些聚合數(shù)據(jù)的運算。 跑一些服務(wù)和設(shè)備的 PLC 們直接通訊用于采集數(shù)據(jù)和發(fā)送控制命令。
被控制的設(shè)備大概在 10 臺的樣子,數(shù)據(jù)量未知,不過這次只是試水,設(shè)備肯定今后是越來越多。由于有實時要求和數(shù)據(jù)私有化的要求,這次需要在企業(yè)內(nèi)部搭建本地服務(wù)器去做。并且工控行業(yè)對設(shè)備的穩(wěn)定性還是有要求的。
網(wǎng)絡(luò)那塊西門子有專門用于工業(yè)環(huán)境的交換機(jī)、PLC 可用,通過設(shè)備和網(wǎng)線的冗余的方式保證了通訊線路的穩(wěn)定。但是服務(wù)器這里,似乎工控行業(yè)這塊沒有現(xiàn)成的產(chǎn)品,還是要依賴 IT 的那套去解決。
服務(wù)器打算直接使用戴爾的商用服務(wù)器,想請教下這塊冗余的配置是怎樣的? 在儲存方面,使用 SSD 搭建 RAID1 或者 RAID10,MongoDB 數(shù)據(jù)庫和 influxDB 數(shù)據(jù)庫的存儲來保證儲存的高可用,不至于掛掉一塊硬盤導(dǎo)致服務(wù)器中斷,并且應(yīng)對將來可能的大量數(shù)據(jù)的讀寫;使用機(jī)械硬盤做 RAID0 跑定時任務(wù)將固態(tài)硬盤的數(shù)據(jù)備份到機(jī)械硬盤上去,以免數(shù)據(jù)的丟失。那此時,操作系統(tǒng)和后端服務(wù)腳本,按照實踐,是需要放在另外的磁盤上,還是和數(shù)據(jù)庫同一個磁盤,這些磁盤需要做 RAID 嗎? 是采購一臺高性能服務(wù)器,跑上面所有的服務(wù),還是把這些服務(wù)器分散到多個服務(wù)器上? 服務(wù)器硬件本身需要做冗余嗎,比如采購兩套服務(wù)器,做一主一備?
有沒有做過類似項目的,可以給一些服務(wù)器的配置參考的或者設(shè)計此類系統(tǒng)的參考資料的,謝謝。
前沿探索
2020-08-20 22:25:44
購買是香港服務(wù)器在同一個機(jī)房,內(nèi)網(wǎng) IP 都是一樣的,新購入的配置比去年的配置還高,不知道是什么原因?
前沿探索
2020-08-20 22:25:34
公司買了阿里云主機(jī),部署了業(yè)務(wù)上的 web 服務(wù)器,做壓測時,訪問到一定量后,就 404 了。 這是否是阿里云的 DDOS 防護(hù)機(jī)制起作用了? 檢查了下,公司的業(yè)務(wù)服務(wù)程序沒啥問題。
前沿探索
2020-08-20 22:25:20
新建個 web 服務(wù)文件夾 www 默認(rèn)權(quán)限是什么,應(yīng)該設(shè)置為什么?composer 需要什么權(quán)限? ftp 需要什么權(quán)限? 為什么與的 ftp 還能設(shè)置權(quán)限?有的不行呢? 后期上傳文件 還需要重置新文件權(quán)限嗎? 為什么寶塔文件管理相干什么就干什么,還能設(shè)置權(quán)限? 對了,我不懂的時候就用 777
前沿探索
2020-08-20 22:25:00
想入一臺基礎(chǔ)的服務(wù)器來部署項目和搭建個人博客,請問各位大佬。阿里云,騰訊云,華為云怎么選?之前用過一段時間的阿里云,感覺還不錯。
前沿探索
2020-08-20 22:24:50
系統(tǒng)換過 win7->win2016->win10電腦也整個換過 Atom D2500CC 整機(jī) -> E3 1260L 整機(jī) 路由也換過 K2->K2P->Newifi2D1 真的是能換的都換了一遍了 時不時就無法訪問 一會 FTP 不行 一會 SMB 局域網(wǎng)共享不行 最經(jīng)常的就是 Http 服務(wù)突然完全訪問不了 比如 Jellyfin 看一半呢 快進(jìn)一下 首頁都進(jìn)不去了 我掛的服務(wù)也不多 Syncthing 可道云 AdGuard Cloudreve Seafile jellyfin Apache FileZilla Tomcat 還有 10 個以內(nèi)的自己搭的微服務(wù) 就是經(jīng)常就無法訪問到 局域網(wǎng) 外網(wǎng)都訪問不到 只有本機(jī)能訪問 而且不是同時無法訪問 有時候 Jellyfin 不能訪問 AdGuard 搭建的 DNS 又可以訪問 實在是搞不明白
前沿探索
2020-08-20 22:24:37
某寶買了,好多單機(jī)游戲大概大幾百 G,然后對方給的是某度網(wǎng)盤的形式,下載巨慢。 想自己搭個服務(wù)器,把這些游戲都上傳到上面,然后實現(xiàn)自己下載的時候不限速,就是快速下載。 有木有大神有解決方案呀?費用的話您說。
前沿探索
2020-08-20 22:24:24
工作室終于拿了筆小融資,準(zhǔn)備搞個新的辦公場地了,想拿個 1 萬以內(nèi)的預(yù)算弄臺服務(wù)器,一方面跑公司業(yè)務(wù),另一方面也順帶做個私有云,還可以搞搞亂七八糟的東西。之前在學(xué)校有一臺 RH2288V3 (學(xué)校的,動不了),用的 E5-2680V3 的 CPU,64G 內(nèi)存,感覺很香?,F(xiàn)在這種 E5 V3 的 U 淘寶上搜了下,哪怕是 E5 2690 V3 也才 1000 一塊,很便宜,就可以上 24 核 48 線程。 現(xiàn)在好不容易輪到自己工作室有點錢了,也想整一臺,性能強(qiáng)點的。我看淘寶上搜 X99 服務(wù)器,出來的都是 HP 360G9 、DELL R630 這樣的,也有單獨賣板子的,有點暈,不知道怎么買。 主要就是(CPU 、主板、電源)這塊選擇很懵,畢竟 E5V3 也過去那么多年了,是不是太老了?還值得搞么? 存儲好解決,M.2.固態(tài)組陣列,內(nèi)存搞個 128G,再弄個萬兆光卡..
前沿探索
2020-08-20 22:24:12
1 個 C 段 258 個防御 ip,單 ip40G 防御,5G 香港本地防御,超過 5G 部分繞美國。這種比較適合用作什么業(yè)務(wù)??
前沿探索
2020-08-20 22:24:02