原创 區塊鏈筆記(4)用JS寫個簡單的區塊鏈原型

介紹了一些關於比特幣的概念與機制,爲了加深理解,本文基於JavaScript來實現一個簡單的區塊鏈原型,後續再對其進行不斷豐富。 1. 概述 如前所述區塊鏈模型的組成部分,包括區塊,區塊構成的區塊鏈,以及保存區塊鏈的數據持久層等。一個超簡單

原创 區塊鏈筆記(3)比特幣交易的數據和流程

區塊鏈技術只能用來做關於金融交易的應用麼?或許先去了解它有關交易的細節,才能看到是否有其它應用的可能。 1 交易的數據模型 1.1 起因 在此之前,我們關於Bitcoin Core介紹了許多,以及把它當作工具如何使用,現在我們將進一步來研究

原创 區塊鏈筆記(2)直觀感受比特幣

解惑是每個人都在走的一條路,可誰又能解這漫漫無期呢?路上總是麻醉的人多,釋懷的人少。 書接上回區塊鏈筆記(1)基礎概念掃盲,我們討論了關於比特幣以及區塊鏈的許多基礎概念,可能通過我略帶類比的描述,讓你初步有了一些概念,但是對於一個比特幣到底

原创 區塊鏈筆記(1)基礎概念掃盲

正如民謠像一杯酒,有故事的人聽不得。深夜失眠的我,無意翻起中本聰的白皮書,就註定了無眠。今夜的我只醉心於技術,別問是真是假。 這是一篇關於區塊鏈基礎的筆記,涉及了我認爲對於初學者來說,想要進一步深入前需要了解的最重要的幾個概念,概括如下圖:

原创 React中禁止頁面滾動

最近用react做了一個H5端的頁面,主要實現了一個彈層滑動選擇的功能,效果如圖:遇到了一個問題,當在底部彈出層進行滾動選擇城市區劃時,蒙版後的頁面也會隨着滾動。 這種現象在開發過程中經常會遇到,常規思路就是使用event.preventD

原创 裝飾器與元數據反射(4)元數據反射

本篇內容包括如下部分: 爲什麼JavaScript中需要反射 元數據反射API 基本類型序列化 複雜類型序列化 爲什麼JavaScript中需要反射? 關於反射的概念,摘自百度百科 在計算機科學領域,反射是指一類應用,它們能夠自描述和自

原创 裝飾器與元數據反射(3)參數裝飾器

之前已經分別介紹了方法裝飾器、屬性裝飾器和類裝飾器,這篇文章我們來繼續關注這些話題: 參數裝飾器 裝飾器工廠 我們將圍繞以下這個例子,來探討這些概念: class Person { public name: string;

原创 裝飾器與元數據反射(2)屬與類性裝飾器

上一篇文章中,我們討論了TypeScript源碼中關於方法裝飾器的實現,搞明白瞭如下幾個問題: 裝飾器函數是如何被調用的? 裝飾器函數參數是如何傳入的? __decorate函數幹了些什麼事情? 接下來我們繼續屬性裝飾器的觀察。 屬性

原创 裝飾器與元數據反射(1)方法裝飾器

讓我來深入地瞭解一下TypeScript對於裝飾器模式的實現,以及反射與依賴注入等相關特性。 在Typescript的源代碼中,可以看到裝飾器能用來修飾class,property,method,parameter: declare typ

原创 前端設計模式用起來(1)狀態模式

業務代碼開發久了,偶爾看看設計模式,總會讓自己有一種清新脫俗的感覺。總想把這種感覺記下來,但一想到要先起個恰如其分的標題和開頭,就讓我有一種百爪撓心的糾結,所以遲遲沒有開始。今天起更新我學習設計模式筆記的原因,就好像是,你喜歡一個女孩久了,