Categories
程式開發

2020中國API生態與開發者現狀調研報告

當前,數字化轉型已深入各行各業,API——這個曾經的底層代碼接口,不僅發展成為產品本身,更成為企業承載價值、連接業務的核心載體,一個由API使用者和開發者組成的、圍繞API產品生命週期的價值交換新模式正日益成熟,特別是與微服務、DevOps等技術的融合,都將使得API戰略成為企業加速創新的利器。

雖然API已經作為數據服務等功能接口廣泛應用在諸多場景,但大量組織對於API生命週期的管理流程、工具使用、價值實現還存在相當程度的認識偏差。 API不僅需要最高程度的管理,更重要的是,開發者需要思考如何借助外部的消費者市場,從“應用層”退到“技術層”、將“新技術”推向“新業務”,將通用的能力輸送給多元行業和場景,不斷將內部功能轉化為對外服務的做法。

基於此,InfoQ研究院聯合華為雲等多家單位,採集、優選5000餘份具有高可信度的數據,發布《中國API生態與開發者現狀調研報告(2020年)》,旨在通過全面的視角反映API生態的發展現狀,包括API使用者和開發者的主要訴求、策略、行為,展現API產品生命週期各階段的實踐過程、工具使用情況,並進一步探討API技術未來可能的發展方向、價值實現方式,力求為相關企業、組織、個人制定API戰略提供一個參考視角。

報告大綱概覽:

主要結論

關於結論的說明

一、API的發展和應用現狀

二、API的使用者需求

三、API開發者策略和行為畫像…

Categories
程式開發

我從高級開發者身上學到的19條編碼原則

進行軟件開發,整天敲代碼、好不容易調試成功,但是代碼的質量堪憂,可讀性不是很高,反過頭來還得對代碼進行完善。也許這不是你的編碼能力問題,很有可能在你進行代碼編寫時,一些看似不重要的編碼注意事項沒有遵守。這有一份高級開發人員經常遵循的19 條原則,其中很多與實際編碼無關,而是與流程以及如何處理任務有關,可能對你有幫助。

我從高級開發者身上學到的19條編碼原則 1

1. Rule Of Three 原則

這是一條代碼重構的經驗法則,用於決定何時將復制的代碼段替換為新的代碼/ 過程/ 方法。…

Categories
程式開發

了解HashMap數據結構,超詳細!

寫在前面

小伙伴兒們,大家好!今天來學習HashMap相關內容,作為面試必問的知識點,來深入了解一波!

思維導圖:

了解HashMap數據結構,超詳細! 2

學習框架圖

1,HashMap集合簡介

HashMap基於哈希表的Map接口實現,是以key-value存儲形式存在,即主要用來存放鍵值對。 HashMap的實現不是同步的,這意味著它不是線程安全的。它的key、value都可以為null。此外,HashMap中的映射不是有序的。

JDK1.8之前的HashMap由數組+鍊錶組成的,數組是HashMap的主體,鍊錶則是主要為了節解決哈希碰撞(兩個對象調用的hashCode方法計算的哈希碼值一致導致計算的數組索引值相同)而存在的(“拉鍊法”解決衝突)。

JDK1.8之後在解決哈希衝突時有了較大的變化,當鍊錶長度大於閾值(或者紅黑樹的邊界值,默認為8)並且當前數組的長度大於64時,此時此索引位置上的所有數據改為使用紅黑樹存儲。

數組裡面都是key-value的實例,在JDK1.8之前叫做Entry,在JDK1.8之後叫做Node。…

Categories
程式開發

Serverless“革命”為什麼已停滯不前?

本文要點

  • 近幾年,一些人預測無服務器計算將迎來新計算時代的蓬勃發展,讓應用無需操作系統就能執行。雖然有人說這種框架將會解決在可擴展性上存在的許多問題,但事實並非如此。
  • 雖然在許多人看來,無服務器技術是一個新的概念,但其根源可以上溯到2006年Zimki PaaS和Google App Engine對無服務器框架的探索。
  • 導致無服務器革命停滯不前的原因,可歸納為從編程語言支持受限到性能問題等四個方面。
  • 無服務器並非沒有用武之地。但不應視其可直接替代服務器。在某些應用開發環境中,無服務器是非常便利的工具。

服務器已死,服務器永存!

為無服務器革命搖旗吶喊的聲音正此起彼伏。如果快速回顧過去幾年內的一些行業新聞,很容易得出結論說傳統服務器模型已失效,而且在未來幾年內無服務器架構將統治一切。…

Categories
程式開發

通過Amazon CodeGuru Profiler 簡化應用程序的性能優化

原始網址: https://aws.amazon.com/cn/blogs/machine-learning/simplifying-application-onboarding-with-amazon-codeguru-profiler/

亞馬遜CodeGuru

Amazon CodeGuru 是基於機器學習技術構建的一款開發人員工具,通過該工具可以對您的代碼質量進行分析,發現執行成本最高的代碼行。同時您可以將Amazon CodeGuru集成到現有的軟件開發工作流程中,實現智能代碼審查功,代碼性能檢測和優化執行成本高的代碼行,從而實現降低成本的目的。 Amazon CodeGuru 包含以下兩個組件: …

Categories
程式開發

NgRx 10引入組件本地狀態管理包

NgRx,一個基於RxJS的Angular反應式擴展平台,發布了它的第10個主要迭代版本,包含了一個用於本地狀態管理的新組件存儲包。新包對用於應用程序狀態管理的NgRx存儲進行了擴展。此外,一個新的實驗性NgRx組件包為開發人員開發Angular無分區應用程序提供支持,它利用了Angular Ivy的能力,以此來獲得更好的性能。

Brandon Roberts在NgRx的發布說明中解釋了新的本地組件存儲所帶來的價值:

NgRx Store用於在全局應用程序級別管理來自多個不同來源的複雜狀態。在某些情況下,用戶希望以統一的方式在本地管理狀態,不需要間接的操作、reducer和effects。我們設計了一個新的包來處理本地級別的狀態,同時提供與NgRx Store類似的好處。

NgRx應用程序的架構圍繞著四個關鍵概念,這些概念讓人聯想到Redux或Elm的架構。動作會捕獲事件,無論事件是來自用戶或來自其他接口系統(例如套接字或REST服務器):

import { 
Categories
程式開發

NPM 移除4 個惡意軟件包:洩露用戶數據已有數月,4 個包分工明確

近日,NPM 移除了多個託管在其倉庫中的包,原因是這些包會向遠程服務器建立連接並洩露用戶數據。

這4 個包在過去幾個月中累計有超過1000 次下載,直到10 月15 日被NPM 移除。

這4 個包是:…

Categories
程式開發

淺談銀行數據倉庫:金融主題層建設篇

FDM金融主題層屬於數據倉庫的核心層級,在源數據與數據應用間起著承上啟下的作用,關鍵是,金融主題應該劃分成什麼?每個金融主題的模型建設思路是怎樣的?金融主題的數據模型該怎樣維護?

前言

上一篇文章《淺談銀行數據倉庫-分層架構》,描述銀行數據倉庫(下文簡稱“數倉”)分層架構至少包含ODM貼源層、SDM標準層、FDM主題層和ADM應用層。其中FDM層的核心訴求是把複雜的源數據化繁為簡,按照業務邏輯劃分出金融主題,把源數據進行拆分與整合到金融主題的模型中。關鍵是,金融主題應該劃分成什麼?每個金融主題的模型建設思路是怎樣的?金融主題的數據模型該怎樣維護?

在解答上述問題之前,首先要了解國外主流的金融主題劃分方案是如何的,如何從國外的主流方案中取經。

國外主流的金融主題劃分方案

Teradata公司的FS-LDM十大金融主題模型

Teradata公司作為全球最大的專注於大數據分析、數據倉庫和整合營銷管理解決方案的供應商,並提出一種先進的FS-LDM模型(Financial Services Logcial Data …

Categories
程式開發

vivo AI 計算平台的K8s填坑指南

背景

在2018年底,vivo AI 研究院為了解決統一的高性能訓練環境、大規模的分佈式訓練、計算資源的高效利用調度等痛點,著手建設AI計算平台。白駒過隙,將近兩年時間過去了,平台的建設和落地取得了很大的進展,成為了vivo AI領域的核心基礎平台。平台現在已經有超過500多個用戶,來自人工智能、影像、互聯網等多個部門。平台的容器集群有1000多台服務器,擁有50000多CPU核,1000多張GPU卡,GPU算力將近100 PFLOPS。每天運行1000多個的算法訓練任務,部署了100多個的模型推理服務和AI應用。這些訓練任務和應用都是以容器的方式運行。平台從當初服務深度學習訓練為主,到現在演進成包含VTraining、VServing、VContainer三大模塊,對外提供模型訓練、模型推理和容器化的能力。

計算平台的底座是VContainer,是基於Kubernetes構建的容器平台,對上提供了容器運行、資源調度等能力。 Kubernetes是平台最基礎最重要的組件,其穩定性對平台至關重要。本文是vivo AI計算平台技術演進系列文章之一,著重分享了平台在Kubernetes上遇到的疑難雜症和解決方法。

原文鏈接:【https://www.infoq.cn/article/2LCOXVLD0WxDN4itXj35】。未經作者許可,禁止轉載。…

Categories
程式開發

前端開發者們值得了解的11 項前端技巧

不容錯過的11 項HTML/JS/CSS 技巧。

通過以下HTML/CSS/JavaScript 相關技巧,希望能幫助大家填補一點點關於前端開發方面的知識空白。

1.數據清單

元素這項HTML 元素的使用頻率極低,今天我們就要為它正名!

標籤用於為元素提供一項“自動補全”功能。在鍵入過程中,您會看到如下圖所示的預定義下拉菜單及選項。

前端開發者們值得了解的11 項前端技巧 13

示例:…