2022/04/25

使用 FormKit 表單開發

處理複雜的表單成為每個開發人員的麻煩,使其成為前端開發的主要痛點之一。 對於控制多個狀態的需求催生了 Formik、React Hook Form、Veevalidate、Vuelidate、FormKit 等 Library。

FormKit 是一個可幫助在 Vue 中開發任何類型的表單。 FormKit 背後的團隊與 VueFormulate 相同。VueFormulate 為開發人員提供了一個單一的組件,該組件使用插槽來創建表單元素。 這種方法使編寫、處理和驗證表單變得容易。FormKit 是 VueFormulate 的增強版本,旨在幫助開發人員編寫出色的表單。

安裝 FormKit 後,FormKit 提供了兩種創建表單的簡單方法:使用 <FormKit/> 或從 JSON 模式生成表單。

使用 Tailwind CSS 進行樣式設置
如果您使用 Tailwind CSS,FormKit 不僅支持您需要的多種樣式,而且還提供了(@formkit/tailwindcss) 來幫助您使用模板編寫更簡潔的代碼,從而在配置中為您的表單設置主題文件。使用 Tailwind 指南的樣式可在 FormKit 文檔中找到。

國際化 (i18n)
FormKit 提供了 23 種不同的語言環境。

強大的架構
FormKit 將自己作為構建表單的框架,因為它提供了一個非常靈活的表單處理系統。每個對像對應一個 HTML 元素、組件。此模式能夠引用現有的 Vue 變量並渲染任何具有可編輯屬性和道具的標記或組件。

FormKit 有很好的文檔,大部分 API 都有很好的文檔和結構。這些文檔提供了完整的參考搜索功能,可幫助您找到所需的幾乎所有內容。

像 FormKit 提供了一個簡單的解決方案來解決現代 Web 開發中的主要表單問題,並讓開發人員可以愉快地完成原本乏味的任務。它既可以增強您的開發過程,又可以為用戶呈現極其強大的表單。

2022/04/23

VS Code 設置如何讓您成為更高效的數據科學家

1. 如果您使用格式化 linting 庫,例如 flake8 和 black,那麼 VS Code 可以在每次保存文件時自動格式化。還會在可能違反代碼樣式規則的代碼行中收到警告。

2.GitHub Copilot 是 GitHub 開發的最新 IDE 擴展,它使用 OpenAI 在代碼和文本上訓練的模型,可以提供非常有用的自動完成功能。

3. 您可能希望通過 SSH 連接的伺服器運行代碼。 幸運的是,可以通過 Remote SSH 連接,並且仍然繼續使用 VS Code 。

4. GitLens:通過顯示提交、識別每行代碼中的最新更改。

5. Rainbow CSV:為每列賦予顏色並提供提示以幫助完成 CSV。

6. Edit CSV:類似電子表格的視圖,可以更結構化的格式對其進行編輯,並輕鬆修改列或行。

7. 那些撰寫論文或書籍使用 LaTeX 的人,也可以依賴 VS Code。 您只需安裝 LaTeX Workshop 在 IDE 就可以使用的所有功能。

2022/04/17

Babel vs. TypeScript

什麼是TypeScript?

TypeScript 是 Web 開發人員中最常用的編程語言之一。 它並強制執行類型以幫助開發人員最大限度地減少常見錯誤。最重要的是,TypeScript 有自己的編譯器。 因此,它可以將 .ts 文件轉換為 .js 文件,並使瀏覽器更容易執行它們。

什麼是 Babel?
Babel 是另一個流行的編譯器,它將現代 JavaScript 語法和特性轉換為 ES5。 它具有語法轉換、Polyfilling、代碼轉換等重要功能。其中,polyfilling 是最有價值的功能之一,它確保您的應用程序在不同瀏覽器版本之間普遍兼容。此外,Babel 通過語法轉換器支持最新版本的 JavaScript,並允許開發人員使用新語法而無需等待瀏覽器支持。

雖然 Babel 和 TypeScript 是編譯器,但它們還是有一些顯著差異。 了解這些差異將幫助您找到最適合您項目的編譯器。

1. Babel 不支持類型檢查
Typescript 是強類型的,這意味著開發人員可以檢查其變量值的有效性。 但是,Babel 編譯代碼時不檢查類型。

2. TypeScript 不支持自動 polyfill
Babel 包含一個 polyfill,它有一個自定義的 regenerator 運行時和 core-js。這將模擬一個完整的 ES5+ 環境,用於應用程序。因此,使用 Babel 時會自動加載 polyfill。

3. Babel 比 TypeScript 更可擴展
如果你需要使用自定義轉換,Babel 是最好的解決方案。它支持各種插件來優化你的代碼,而 TypeScript 只支持它自己的具有較少功能的 Transformer API。

在性能方面,TypeScript 和 Babel 是相同的。儘管 TypeScript 需要一些額外的時間進行類型檢查,但它不會顯著影響性能。

你應該選擇什麼?
如前所述,TypeScript 編譯器和 Babel 都有自己的處理方式。因此,開發人員有很多意見,選擇一個而不是另一個可能是一項具有挑戰性的任務。

隨著 Babel 的最新更新,它有了很大的改進,唯一缺點是它無法進行類型檢查。您需要為此使用自定義流程。在所有其他方面,Babel 和 TypeScript 編譯器看起來都很相似,這就是為什麼許多開發人員建議一起使用它們的原因。

2022/04/10

如何批評同事

公開表揚,私下批評。如果您在表揚某人的行為,請讓他們的團隊知道!您不僅鼓勵他們這樣做,而且鼓勵所有目睹這種讚美的人。批評某人的行為會讓人情緒激動。有時會變成著重在聽者的想法,而不是關注你的反饋。

使用“我”語言而不是“你”語言。你是你自己感受和記憶的權威。通過專注於這些,您可以向其他人提供他們還沒有的信息,並且他們可以做出適當的反應。

盡可能具體。不要告訴別人他們很聰明,或者是個混蛋,或者他們在做 X 方面有問題。告訴他們你希望他們或多或少做的行為的具體例子。如果你沒有……那麼你可能不應該給出這個反饋。

站在同一邊。良好的反饋互動涉及兩個人,即給予者和接受者,試圖弄清楚該做什麼或多或少做什麼。如果您想反駁某人,請將這種爭論的衝動轉化為合作。提出問題而不是不同意,並說“是的,並且”而不是“否”。你們正在共同努力就事情的進展達成一致,並在出現負面反饋的情況下,調試並防止未來出現問題。

如果你太累了就停下來。當情緒激動時,就很難遵循這些指導方針。當發現自己太沮喪而無法清晰思考時,避免給出反饋,或者退出當前的反饋情況,直到能冷靜下來。反饋不佳可能比沒有反饋更糟糕。

當準備好提供反饋時,至少有兩個具體例子。如果他們記得做過你批評的事情,他們會想“我為什麼要這樣做?”並專注於原因。如果他們記得做過你正在表揚的事情,他們可以將表揚與這種行為聯繫起來。下次他們會記得良好的行為是一種選擇。

2022/04/05

10 大人工智慧職業趨勢

1. 人工智慧將重塑大部分工作角色:
可以肯定的是,人工智慧會創造更多的就業機會。但更重要的是,它將重新配置許多現有的工作角色。從快餐中心到醫療保健和農業,只要你說出它的名字,你就會感受到它的存在。例如,在雲計算中,人工智慧可以高精度地建議工作量,讓 DevOps 團隊構建測試並與可靠性工程 (SRE) 團隊協調。

2. 製造業中的人工智慧:
人工智慧在製造業中佔有重要地位,因為它一直是它的早期採用者。麻省理工學院的一項調查顯示,60% 的製造商已經在維護和質量控制這兩個最常見的領域使用人工智慧。然而,新技術仍然需要專業技能才能使其發揮作用。例如,協作機器人輔助可以協助人類完成複雜的任務,人類需要對其進行編程以教他們如何完成任務。毫無疑問,人們的技能發展顯然需要完成機器無法執行的任務。

3. 網絡安全中的人工智慧:
人工智慧在網絡安全領域也佔有一席之地,但識別更深層次的業務風險的工作只能由人類來完成。

4. 可靠性工程師角色:
SRE 角色將經歷巨大的轉變,AI 和 ML 以新的眼光定義它們。使用 ML,SRE 團隊可以繞過諸如為生產準備應用程序以及針對特定任務調整它們等任務。由於它需要許多排列和組合,也許人工智慧可以做得更好,讓人類去做更高價值的工作。

5. 機器人中的人工智慧
機器人技術是一項具有大規模替代人類的主要技術。人們可以放心地假設此就業市場只會擴大,對機器人工程師的需求不斷增長。

6.創意產業中的人工智慧
眾所周知,人工智慧不僅具有創造性,而且具有更高水平的創造性智能。然而,直覺和識別上下文的能力以及由此產生的情緒反應只屬於人。

7. 虛擬世界中的人工智慧:
元界不再是一個流行詞,而是一個擁有自己經濟的系統。因此,它有可能在其支持人工智慧的虛擬現實世界中打開大門,迎接各種機會。雖然還處於初級階段,但人工智慧、VR、遊戲、區塊鏈、5G 和增強現實(AR)等技術的交叉已經創造了很多機會,比如游戲設計師、NFT 策略師、區塊鏈設計師等。

8. 低代碼——無碼人工智慧
人工智慧中的低代碼無代碼趨勢對開發人員的工作構成了感知威脅。據專家介紹,它只會填補空白,而不是讓開發人員變得多餘。但要實現這一點,IT 和軟件工程師必須做出正確的舉動,遠離傳統的 IT 角色。他們應該承擔新的角色,例如與業務團隊合作以增強他們的技術洞察力。

9. 增強勞動力:
人工智慧的大規模採用將推動公司尋找培訓員工的方法,使他們能夠適應更高水平的抽象思維。

10. 培訓師、講解員角色的提升:
AI 需要人類來訓練和維持它。人工智慧適用於經過特定任務訓練。 NLP 和語音處理之類的過程需要人類為不同的會話上下文進行輸入,這將出現一些新的工作角色,作為支持人工智慧的系統和業務之間的接口。

2022/04/03

談到人工智慧,我們可以創造數據集嗎?

一項研究表明,使用合成數據訓練的圖像分類機器學習模型可以與在真實事物上訓練的機器學習模型相媲美。需要大量數據來訓練機器學習模型來執行圖像分類任務,例如識別自然災害後衛星照片中的損壞。然而,這些數據並不總是那麼容易獲得。如果一開始就存在可用數據,那麼生成數據集可能要花費數百萬美元,即使是最好的數據集也經常包含對模型性能產生負面影響的偏差。

為了規避數據集帶來的一些問題,麻省理工學院的研究人員開發了一種訓練機器學習模型的方法,該方法不是使用數據集,而是使用一種特殊類型的機器學習模型來生成極其逼真的合成數據,這些數據可以訓練另一個模型下游視覺任務。這種特殊的機器學習模型被稱為生成模型,與數據集相比,存儲或共享所需的記憶體要少得多。使用合成數據也有可能迴避一些關於隱私和使用權的擔憂,這些擔憂限制了一些真實數據的分發方式。還可以編輯生成模型以刪除某些屬性,例如種族或性別,這可以解決傳統數據集中存在的一些偏見。

生成合成數據
一旦生成模型在真實數據上進行了訓練,它就可以生成非常逼真的合成數據,幾乎與真實數據無法區分。訓練過程包括向生成模型展示數百萬張包含特定類別對象(如汽車或貓)的圖像,然後它會學習汽車或貓的外觀,以便生成類似的對象。生成模型學習如何轉換訓練它們所依據的基礎數據。如果模型在汽車圖像上進行訓練,它可以“想像”汽車在不同情況下的外觀然後輸出以獨特姿勢、顏色或尺寸顯示汽車的圖像。

比實物還要好
研究人員將他們的方法與其他幾個使用真實數據訓練的圖像分類模型進行了比較,發現他們的方法與其他模型一樣好,有時甚至更好。使用生成模型的一個優點是,理論上它可以創建無限數量的樣本。因此,研究人員還研究了樣本數量如何影響模型的性能。他們發現,在某些情況下,生成更多的獨特樣本會帶來額外的改進。使用生成模型也存在一些限制,在某些情況下,這些模型可以揭示可能帶來隱私風險的源數據,並且如果沒有經過適當的審計,它們可能會放大他們所訓練的數據集中的偏差。