author/火龍果軟體工程

分散式事務有自己的架構語言嗎?TLA +簡介

TLA +是一種正式的規範語言。它是設計系統和演算法的工具,然後以程式設計方式驗證這些系統沒有嚴重錯誤。它是相當於藍圖的軟體。通常用於設計分散式事務系統,亞馬遜等公司普遍使用該語言規範設計他們的分散式事務中介軟

點分治小結

演算法介紹 點分治,顧名思義,是一種對點進行分治的資料結構。(樹上的點) 多用於在樹上進行有限制的路徑計數。 比如:求樹上長度小於$ k$ 的簡單路徑條數。\((n \leq 10000)

輸出1~n之間的所有質數

寫這篇文章,主要是因為面試的時候碰到該問題,當時沒有反應上來,錯過一個機會,後來思考很久,算是找到一個合理的解決方案,記錄一下。 1. 基本概念 首先,明確一下質數的概念: 質數,又

我們一起造輪子 - RxDownload

基於RxJava打造的下載工具, 支援多執行緒和斷點續傳 專案地址 RxDownload 主要功能: 使用Retrofit+OKHTTP來進行網路請求 基於RxJava打造,

每日一算--零錢兌換

給定不同面額的硬幣和一個總金額。寫出函式來計算可以湊成總金額的硬幣組合數。假設每一種面額的硬幣有無限個。 示例 輸入: amount = 5, coins = [1, 2, 5] 輸出: 4 解釋: 有

如何畫出一張合格的技術架構圖?

接下來,阿里巴巴技術專家三畫,將分享自己和團隊在畫好架構圖方面的理念和經驗,希望對你有所幫助。 當我們想用一張或幾張圖來描述我們的系統時,是不是經常遇到以下情況: 對著畫布無從下手、刪了

如何來一次說幹就幹的重構(流程篇)

前言 隨著公司業務的爆炸式的增長,需求規模和使用者規模也迅速地膨脹起來,這樣給系統的三高(高效能、高併發、高可用)以及擴充套件性、可維護性都帶來了考驗。而舊系統因為早期設計的各種侷限性(如早期參與人員的水平

Ramda 之 empty()

在 C# 我們有 String.Empty() 來表示 空字串 取代 "" ,相同地,在 Ramda 我們有 empty() ,當 String、Object 與 Array 傳進 empty

近五年重大勒索軟體攻擊事件盤點

惡意軟體已存在多年。1991年,一位生物學家曾通過郵件向其他艾滋病研究人員傳播PC Cyborg,這便是有史以來的第一個勒索軟體。 在00年左右,Archiveus則是第一個使用加密的勒索軟體,雖然它早已被

每日一算 -- 斐波那契數列型別題

假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 日常找規律 當有1階時 F(1) = 1

python錯誤、異常和程式除錯

異常是Python程式在執行過程中引發的錯誤,如果程式中引發了未進行處理的異常,程式就會由於異常而終止執行,只有為程式新增異常處理,才能使程式更“健壯”。 Python對異常的處理,有它自己的語法形式,掌握

限制管理

本文討論模組分解的策略問題。 想起要寫它,是上週寫這個推演時引入的概念:in nek:從CPU和TPU的不同語言抽象看抽象原則 。當時討論到這樣一個現象:TPU/NPU的程式設計

1746072865.2276