区块链 — 以太坊简介
一、为什么要学习以太坊
庞大的开发者社区,目前最大的区块链开发平台
相对成熟,有代表性,资料众多
以应用入手,学习曲线不那么陡峭
与 JavaScript 结合紧密,方便开发人员上手
二、开发涉及的工具
MetaMask:浏览器插件钱包
Remix:基于浏览器的 Solidity 在线编译器
Geth:以太坊客户端(go 语言)
web3.js:以...
区块链 — 原理与代码实现
import hashlib
import json
from uuid import uuid4
import requests
from time import time
from urllib.parse import urlparse
from flask import Flask, jsonify, request
from argparse import ArgumentPars...
区块链 — 基本概念与应用场景
基本概念
1. 去中心化应用(DApp)
传统的网络应用,都会有一个服务端程序,多个客户端链接到这个服务端,叫做「中心化应用」。
点对点(P2P)应用中并不存在对网络完全控制的中心节点,这类应用成为「去中心化应用」。
但去中心化应用有数据被篡改的风险,所以引入「一致性协议」。
2. DApp 的内部货币
维持DApp节点的正常运行需要费用(硬件、网络等)==》「内部货币」。
每...
微服务 — API Gateway
什么是 API Gateway?
API Gateway 是微服务架构体系中的一类型特殊服务,它是所有微服务的入口,它的职责是执行路由请求、协议转换、聚合数据、认证、限流、熔断等。
一个系统可以有一个或多个 API Gateway,例如
Gateway 的指责
1. 请求路由和版本控制
API Gateway 是微服务的入口,可以根据不同的请求路由到不同的 microser...
Redis - 文章投票系统
将文章信息存储在 Redis 中,每个文章又一个 ID,使用散列(Hash)存储文章,为了产生一个能够随着时间流逝而不断减少的评分,程序需要根据文章的发布时间和当前时间来计算文章的评分,具体计算方法为:将文章得到的支持票数量乘以一个常量,然后加上文章的发布时间,得出的结果就是文章的评分。
使用有序集合(Zset)记录文章发布的时间和文章的得分,为了避免相同用户对同一篇文章投票,需要使用集合...
Python - 进阶学习
一、闭包
简单理解,闭包就是一个定义在函数内部的函数,闭包使得变量即使脱离了该函数的作用域也依然能被访问到。
函数身为第一类对象,它可以作为函数的返回值返回。
def print_msg():
# print_msg 是外围函数
msg = "zen of python"
def printer():
# printer 是嵌套函数
...
共计 85 篇文章,11 页。