[CPP] 读取文件[C/CPP] 切分字符串利用 std::string 的成员方法实现利用 std::stringstream 实现利用 strtok/strtok_r 实现[CPP] 递增序列/随机序列[CPP] 处理信号,服务优雅退出[CPP] 自定义服务运行参数[CPP] SSL/TLS 客户端[CPP] SSL/TLS 服务器端[CPP] protobuf 反射[CPP] 字符串十六进制转换[CPP] find sub vector[CPP] 实现 strcpy[CPP] 排序算法/快速排序[CPP] LRU Cache[CPP] SHA256[CPP] 获取系统信息[CPP] 自定义类型排序[CPP] 自定义类型比较[CPP] std::tuple/std::tie[CPP] 异步任务[CPP] 设计模式/代理模式[CPP] 策略模式[CPP] 设计模式/单例模式饿汉式饱汉式双重检测(线程安全)模板[CPP] 设计模式/适配器模式类适配器对象适配器[CPP] 设计模式/桥接模式[CPP] 设计模式/观察者模式[CPP] 设计模式/装饰器模式[CPP] 设计模式/职责链模式[CPP] 设计模式/模板方法模式[CPP] LevelDB 基础使用[Python] 输出不换行[Python] 获取 unixstamp[Python] 日期时间格式化[Python] 计算比特币发行总量[Python] 简化的工作量证明算法[Python] 字串串十六进制转换[Python] 列表列表的遍历列表的去重[Python] 集合[Python] range 与 xrange[Python] 字典的遍历[Python] 构造、析构[Python] 全局变量[Python] lambda 表达式[Python] Redis 使用[Python] MySQL 使用[Python] kafka 使用消费者生产者[Python] YAML 配置文件[Python] HTTP GET/POST 请求urllib2requests[Python] Flask RESTful[Python] WSGI 服务器以及中间件[Python] 微信报警[Python] IP 定位[Python] 发送邮件[Python] websocket client[Python] doc 转换为 docx[Python] 比特币公钥生成地址[Lua] 求最大值[Lua] 解包 unpack[Lua] 不定参数与格式化[Solidity] 以太坊合约示例:hello world[Solidity] 以太坊合约示例:存储[Solidity] 以太坊合约示例:子货币[Solidity] 以太坊合约示例:币安 Token[Solidity] 以太坊合约示例:以太坊支付[Solidity] 以太坊合约示例:使用非结构化存储实现可升级合约[Julia] Hello World[Julia] 数学计算[Julia] 字符、字符串基础用法[Julia] 循环、Map[微信小程序] 利用滑块容器实现内容循环滚动[微信小程序] 利用全局属性 globalData 跨页面传值[微信小程序] 解决 switchTab 不刷新[微信小程序] 获取屏幕宽高[微信小程序] 模态对话框换行[微信小程序] 长按复制[微信小程序] 分页加载[js] 判断字符串为空[js] 以太坊导出私钥


[CPP] 读取文件

[C/CPP] 切分字符串

利用 std::string 的成员方法实现

根据指定的分割字符串切分目标字符串,支持忽略空字符串、去除前后空白字符

输出

利用 std::stringstream 实现

限制:分隔符为一个或多个空格

输出

利用 strtok/strtok_r 实现

源码路径:split.c

是否线程安全:strtok 在提取字符串时使用了静态缓冲区,非线程安全;strtok_r 线程安全

输出

[CPP] 递增序列/随机序列

输出

[CPP] 处理信号,服务优雅退出

[CPP] 自定义服务运行参数

[CPP] SSL/TLS 客户端

源码路径:

  1. openssl_client.c
  2. boost_ssl_client.cpp

[CPP] SSL/TLS 服务器端

源码路径:boost_ssl_server.cpp

[CPP] protobuf 反射

源码路径:protobuf_reflection.cpp

参考资料:https://github.com/chenshuo/recipes

[CPP] 字符串十六进制转换

源码路径:hex_str.cpp

输出

[CPP] find sub vector

源码路径:find_sub_vector.cpp

输出

[CPP] 实现 strcpy

[CPP] 排序算法/快速排序

源码路径:quick_sort.cpp

输出

[CPP] LRU Cache

源码路径:lru_cache.cpp

输出

[CPP] SHA256

输出

[CPP] 获取系统信息

输出

[CPP] 自定义类型排序

自定义类型比较函数遵循”严格弱序“即可,可通过如下两种方式实现。

输出

[CPP] 自定义类型比较

输出

[CPP] std::tuple/std::tie

[CPP] 异步任务

输出

[CPP] 设计模式/代理模式

源码路径:proxy.cpp

输出

[CPP] 策略模式

img

源码路径:strategy.cpp

输出

[CPP] 设计模式/单例模式

img

饿汉式

源码路径:hungry_singleton.cpp

输出

饱汉式

源码路径:full_singleton.cpp

输出

双重检测(线程安全)

源码路径:double_check_singleton.cpp

输出

模板

源码路径:template_singleton.cpp

输出

[CPP] 设计模式/适配器模式

类适配器

img

源码路径:class_adapter.cpp

输出

对象适配器

源码路径:object_adapter.cpp

输出

[CPP] 设计模式/桥接模式

img

源码路径:bridge.cpp

输出

[CPP] 设计模式/观察者模式

img

源码路径:observer.cpp

输出

[CPP] 设计模式/装饰器模式

img

源码路径:decorator.cpp

输出

[CPP] 设计模式/职责链模式

img

源码路径:chain_of_responsibility.cpp

输出

[CPP] 设计模式/模板方法模式

源码路径:template_function.cpp

输出

[CPP] LevelDB 基础使用

[Python] 输出不换行

环境:Python 2.7.14

输出

[Python] 获取 unixstamp

输出

[Python] 日期时间格式化

输出

[Python] 计算比特币发行总量

输出

[Python] 简化的工作量证明算法

可以任意调整难度值(按二进制 bit 数来设定,即哈希值开头多少个 bit 必须是 0)

输出

输出较多,仅列出一小部分

[Python] 字串串十六进制转换

环境:Python 2.7.14

源码:点此下载

输出

[Python] 列表

列表的遍历

输出

列表的去重

输出

[Python] 集合

输出

[Python] range 与 xrange

输出

[Python] 字典的遍历

效率:由高到低,性能要求高的地方需要注意

输出

[Python] 构造、析构

输出

[Python] 全局变量

输出

[Python] lambda 表达式

输出

[Python] Redis 使用

环境:Python 2.7.14

安装 redis:pip install redis redis-py-cluster

源码:点此下载

输出

[Python] MySQL 使用

环境:Python 2.7.14

源码:点此下载

Tag:查询、批量插入、truncate

[Python] kafka 使用

环境:Python 2.7.14/kafka-python 1.4.2

源码:kafka_consumer.pykafka_producer.py

Tag:kafka 生产者、消费者

参考:http://kafka-python.readthedocs.io/en/master/usage.html

消费者

生产者

输出

[Python] YAML 配置文件

环境:Python 2.7.14/PyYAML 3.12

依赖库:pip install pyyaml

输出

[Python] HTTP GET/POST 请求

urllib2

输出

requests

输出

[Python] Flask RESTful

环境:Python 2.7.14/Flask 0.11.1/Flask-RESTful 0.3.5/Flask-SQLAlchemy 2.2

输出

[Python] WSGI 服务器以及中间件

环境:Python 2.7.4

源码:点此下载

输出

[Python] 微信报警

环境:Python 2.7.14

源码:点此下载

功能:将服务异常信息通过微信企业号 api 发送给运维员工企业微信

[Python] IP 定位

对于客户端使用代理,按照代理 IP 进行处理。服务端获取客户端 IP,使用 www.ip.cn 提供的 IP 定位服务获取客户端接入的位置信息。

输出

如果使用美国代理,输出如下

[Python] 发送邮件

[Python] websocket client

[Python] doc 转换为 docx

通过 pip 安装依赖:pip install pywin32

通过 yum 安装依赖:yum install libreoffice -y

[Python] 比特币公钥生成地址

输出

[Lua] 求最大值

输出

[Lua] 解包 unpack

输出

[Lua] 不定参数与格式化

输出

[Solidity] 以太坊合约示例:hello world

Solidity 合约脚本如下,点此下载

使用 SolC 编译上述脚本

调用合约的 js 脚本【同步】,点此下载

调用合约的 js 脚本【异步】,点此下载

 

调用 node 执行脚本

[Solidity] 以太坊合约示例:存储

Solidity 合约脚本如下,点此下载

使用 SolC 编译上述脚本

调用合约的 js 脚本,点此下载

调用 node 执行脚本

[Solidity] 以太坊合约示例:子货币

Solidity 合约脚本如下,点此下载

使用 SolC 编译上述脚本

调用合约的 js 脚本,点此下载

功能:铸币、转账

调用 node 执行脚本

合约地址:0x6c26a63139497d5fd5f1acbb4a35e0b0798b9fb2

调用合约的 js 脚本,点此下载

功能:铸币、转账、销毁合约

调用 node 执行脚本

销毁合约后,再次调用 node 执行脚本

[Solidity] 以太坊合约示例:币安 Token

参考资料:https://etherscan.io/address/0xB8c77482e45F1F44dE1745F52C74426C631bDD52#code

Solidity 合约脚本如下,点此下载

[Solidity] 以太坊合约示例:以太坊支付

由于 Solidity 是基于 EVM,语言层面直接支持以太坊支付。函数添加 paylable 标识,即可接受 ether,并把 ether 存入当前合约,如下合约中的 deposit 函数。

输出

部署合约之后,分别调用 depoist()getBalance()

[Solidity] 以太坊合约示例:使用非结构化存储实现可升级合约

Solidity 合约脚本如下,点此下载

使用方法:

  1. 部署 OwnedUpgradeabilityProxy 合约,假设合约地址 X
  2. 部署目标合约,假设合约地址 Y
  3. 调用 OwnedUpgradeabilityProxy 合约的接口 upgradeTo(Y)
  4. 生成目标合约指向地址 X,当调用目标合约接口时,实际将数据都存储在 OwnedUpgradeabilityProxy 合约的地址空间,后续升级目标合约,重新执行步骤 3 即可。

[Julia] Hello World

输出

[Julia] 数学计算

  1. 计算圆柱体的体积
  2. 计算 aX^2^ + bX + c = 0 一元二次方程的解

输出

[Julia] 字符、字符串基础用法

包含字符串的大小写、截取、拼接等基础用法,点此下载

输出

[Julia] 循环、Map

包含循环、Map 的基础用法,点此下载

输出

[微信小程序] 利用滑块容器实现内容循环滚动

[微信小程序] 利用全局属性 globalData 跨页面传值

[微信小程序] 解决 switchTab 不刷新

当 switchTab 点击过的时候,只有第一次加载数据,第二次点击的时候不刷新数据。将需要重新加载的逻辑抽取出来,在 onShow() 中调用即可,当然,也可以直接将此逻辑放在 onShow() 中。

[微信小程序] 获取屏幕宽高

[微信小程序] 模态对话框换行

使用 \r\n 即可实现换行。目前,在微信开发者工具上显示不换行,但是真实环境可换行。

[微信小程序] 长按复制

需要添加长按复制功能的元素绑定该函数即可

[微信小程序] 分页加载

分页加载是常见的优化技巧,也是提升用户体验的一方面。既减轻服务端的业务压力,又提升了用户体验。一般地,需要前后端配合实现。

长按绑定 listMore,长按触发从后台重新拉取数据,然后更新 list: that.data.list.concat(list)

后台接口 /usermanage/user/list 包含两个参数,一个起始 ID,一个指定一次性拉取记录条数。

[js] 判断字符串为空

使用方式如下

[js] 以太坊导出私钥

通过 npm install keythereum 安装依赖库