原创 談談Zipack格式的設計初衷

這期主要談談當初我設計Zipack格式的初衷和規劃,文章很多地方直接引用自年初寫的Zipack設計稿。什麼是序列化格式序列化格式是一種用於存儲和傳輸的,線性排列的二進制數據。序列化格式用於在不同平臺交換通用的數據格式。比如JSON就是一

原创 Zipack初體驗:我的開源標準!

私貨時間到~JSON vs Zipack當今最流行的序列化格式無疑是JSON,但是基於文本的JSON有許多缺點,比如解析速度慢,體積較大。根本原因在於,JSON是基於文本的,只要是文本就離不開編譯,只要編譯就永遠沒有二進制格式來的快,而

原创 原創反轉精度算法:小數的終極編碼

上期帶大家嚐鮮了Zipack格式的“多快好省”:“多”指功能多;“快”指解析快;“省”指體積小。不過用戶最好奇的一定是Zipack的底層原理,畢竟它“囂張”地宣稱擁有比UTF8和IEEE浮點數還棒的編碼。這期詳細介紹Zipack底層是如

原创 函數式編程中的數組問題

這裏只傳授最高端的編程技巧...好久沒講技術了,先回憶一下啥是函數式編程(FP)吧,比如FP要求使用表達式,不允許出現語句,這樣更接近自然語言。表達式取代經典語句什麼叫語句呢?學校編程課本上教的變量聲明語句,循環語句,條件判斷語句,枚舉

原创 【日記】動手設計幾個字體!

本文是某人自嗨的產物,純屬娛樂向。。思考:括號和引號有什麼細思極恐的區別?在JavaScript中,括號是可以嵌套的:但是引號直接嵌套就壞了:原因就是,括號有左右之分,而英文引號沒有,導致很多時候我們不得不使用轉義字符。但是我一直認爲一

原创 如何向奶奶解釋SQL與NoSQL的區別

本文介紹SQL和關係代數的起源,沒有乾貨,請謹慎閱讀。如何向你奶奶解釋SQL和NoSQL最近Medium上出現了一個面試題:如何向你奶奶解釋SQL和NoSQL的區別。我看作者是用自己的結構化的家族譜來比喻sql和nosql的區別的,寫的

原创 數學3大分支:代數、幾何、分析 //轉載

數學發展到現在,已經成爲科學世界中擁有100多個主要分支學科的龐大的“共和國”。大體說來,數學中研究數的部分屬於代數學的範疇;研究形的部分,屬於幾何學的範籌;溝通形與數且涉及極限運算的部分,屬於分析學的範圍。這三大類數學構成了整個數學的

原创 http/2.0“多路複用”實現原理 //轉載

1.HTTP/2較HTTP/1.1優化亮點HTTP/2是一個二進制協議,其基於“幀”的結構設計,改進了很多HTTP/1.1痛點問題。下面列舉一些最常被津津樂道的改進之處:多路複用的流頭部壓縮資源優先級和依賴設置服務器推送流量控制重置消息

原创 信息論IV:宿主、時空置換、V8玄學

我又回來了本系列內容一覽:JSON的“噪音”與“信噪比”噪音量的理論上限信息論與壓縮技術:字符串vs字節串最優二叉樹Huffman編碼Message PackMessage Pack 的 Huffman 樹前綴 VS 分隔符性能測試序列

原创 字節序: 一個不是很重要的概念

字節序我們將一個4字節的漢字存入一段4字節的物理容器裏, 該怎麼存放? 直覺都是從左往右依次寫入, 但也可以從右向左寫, 甚至可以先寫入奇字節再寫偶字節, 這樣比劃下可以有n!種存儲方式(n是字節數), 反正只要保證寫入和讀出的數據一致

原创 【轉載】文化的基本單位:模因

轉載自CSDN公衆號。 本文沒有什麼深度,全是漫畫,通俗易懂,但作爲我即將開始的《白話進化論》系列的鋪墊,它還是很有意義的。 流浪的狗和一坨屎 ​                       有關 “模因” 的故事

原创 WebRTC,P2P技術,IPv6的一些思考

本文涵蓋計算機網絡,軟件等多方面的知識。不過放心,這篇文章不會只告訴你p2p”是什麼“,也不會僅僅告訴你”爲什麼“,而要深刻探討它的設計”是否合理“。傳統計算機行業 = IT行業 + 軟件行業作爲一個網絡工程出身的假工程師,我雖然半道轉

原创 熵的理論出發點:能量不可用的程度

        熱力學是伴隨着蒸汽機的發展而興起的,事實上一開始只是作爲“蒸汽機的理論研究”。它關注熱量或能量轉換爲功的過程。而當這種轉換髮生時(熱量驅動了引擎),克勞修斯認識到,熱量實際上並未損失,只是從較熱的物體傳遞到了較冷的物體,

原创 信息與熵【上】生命以信息爲食

也不知道這樣理解對不對,管他呢,只要能重塑大腦連接,減少記憶成本就行 記得母校有一年的研究生入學考試中,《概率論》最後一道送命題大概是這樣的: 學渣小明在做一道選擇題,由於小明完全不會做只能從ABCD中蒙一個答案,恰在此時小明看到

原创 【英文】Node.js Streams: Everything you need to know //轉載

by Samer BunaUpdate: This article is now part of my book “Node.js Beyond The Basics”.Read the updated version of this