Bloodline's Blog Notes and thoughts from Bloodline

区块链学习笔记(二)——比特币如何实现去中心化

        2.1 Centralization vs. Decentralization 去中心化不代表“什么都没有”。 比特币的去中心化可以分解成以下五个问题: 谁来维护账本? 谁能够验证交易的合法性? 谁创造新币? 谁...

区块链学习笔记(一)——加密货币简介

        1.1 密码学中的哈希函数 (Cryptographic Hash function) 哈希函数三个一般特性: 输入为任意长度的字符串 (takes any string as input) 输出为固定长度 (fixed-size output) ...

Jekyll + GitHubPages 的一些更新内容

        GitHub 警告 查看博客仓库时,GitHub 报警告,很明显是需要更新依赖库: We found a potential security vulnerability in one of your dependencies. The redcloth dependency define...

像 UICollectionView 一样重写 UIScrollView 的代理属性

        UIScrollView 有包含一个 UIScrollViewDelegate 的代理属性: public protocol UIScrollViewDelegate : NSObjectProtocol { //... } open class UIScrollView : UIV...

Scrapy 和 Tor

        不太好分类,所以就分到了“编程思想”中,你懂的。 Scrapy 集成 Tor,又是一坑。 安装 Tor(The Onion Router,洋葱路由器)是实现匿名通信的自由软件。更通俗的内容查看关于 TOR 的常见问题解答,链接打不开的话,说明你还没准备好打开新世界的大门。 Tor 的安...

Scrapy 代理指南

        之前提到了使用动态代理可以有效防止爬虫被 ban。但是真正研究起来,又会遇到不少问题。 使用动态代理 主要是中间件的配置: class Mode: (RANDOMIZE_PROXY_EVERY_REQUESTS, RANDOMIZE_PROXY_ONCE, ...

Scrapy 调试技巧

        本文介绍了调试爬虫的最常用技巧。看下面的代码: import scrapy from myproject.items import MyItem class MySpider(scrapy.Spider): name = 'myspider' start_urls = ( ...

Scrapy 防 ban 指南

        大多数网站都使用了不同程度的防爬机制,要想抓取到更多的信息,就必须采取相应的策略。 关闭 ROBOTSTXT_OBEY settings.py 中,否则大部分网站对爬虫都不怎么欢迎: ROBOTSTXT_OBEY = False 动态设置 user agent 执行 $ scrap...

Podfile 语法参考

        Podfile Podfile 用于描述一个或多个 Xcode 项目的 targets 的依赖关系。 Podfile 可以很简单: target 'MyApp' pod 'AFNetworking', '~> 1.0' 复杂一些的: platform :ios, '9.0' ...

Swift 扩展中使用存储属性

        Swift Extensions 的主要局限在于,没法添加存储属性。不过可以通过其他方案实现。 前言 Swift Extensions 可以为现有的类添加方法、结构体、枚举或协议,是比较常用的 Swift 特性之一。但是,Swift 没有直接实现在扩展中持有某些对象作为属性的功能。本文就是...