黄嘉成的博客

黄嘉成的博客

实现一个简单的IOC容器框架

设计并实现一个简单的IOC容器框架

2019-03-05 18:22:14

阅读数 145

评论数 0

Java集合Stream类filter的使用

之前的Java集合中removeIf的使用一文写了使用removeIf来实现按条件对集合进行过滤。这篇文章使用同样是JDK1.8新加入的Stream中filter方法来实现同样的效果。

2018-05-11 11:49:42

阅读数 27466

评论数 0

Java集合中removeIf的使用

在JDK1.8中,Collection以及其子类新加入了removeIf方法,作用是按照一定规则过滤集合中的元素。这里给读者展示`removeIf`的用法。

2018-05-11 10:41:08

阅读数 5689

评论数 3

基于逆波兰算法实现计算器(Java控制台版)

计算器是日常生活中很常见的工具之一,但并不意味着计算器的软件实现原理就很简单。不少初学的小伙伴在尝试开发计算器的功能时,受到算术表达式中**运算符优先级**和**多层嵌套**等问题的困扰。本文采用**逆波兰算法**来实现计算器的功能,为有需要的小伙伴详细讲解原理和具体实现。

2018-12-12 16:10:13

阅读数 313

评论数 0

Python网络爬虫入门案例

一、什么是网络爬虫? 网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,本质上是一段程序或脚本,可以自动化浏览网络中的信息,浏览信息时程序会按照一定的规则去浏览,这些规则我们称之为网络爬虫算法。 作用: 定制搜索引擎 自动去广告 爬取图片、文本 爬取金融信息进行投资分析 ...

2018-09-18 13:29:11

阅读数 407

评论数 4

TypeError: web3.eth.Contract is not a constructor错误解决

这是web3.js开发者在创建合约对象时很容易发生的错误,其实就是不同版本web3.js带来的API变化问题。 请检查你的web3.js版本: 如果version<1.0.0,使用: web3.eth.contract(studentFactoryArt...

2018-08-22 09:59:16

阅读数 767

评论数 0

Error: new BigNumber() not a base 16 number

在js中测试调用合约时发生了以下错误: StuDetailsApp.js:44 Error: new BigNumber() not a base 16 number: at T (inpage.js:1) at inpage.js:1 at new r (inpage...

2018-08-05 18:35:12

阅读数 779

评论数 0

js解析智能合约Solidity返回的struct

Solidity是以太坊智能合约的编程语言,我们可以通过web3.js来与合约进行通信,并接收Solidity函数的返回值。不少人在接收struct类型的返回值时不知道怎么处理,本文展示一种解析方法,以供各位学习交流,如有更好的方法,欢迎讨论。

2018-08-03 12:52:27

阅读数 1124

评论数 0

Java设计模式之抽象工厂

如果前面已经学习了工厂模式,抽象工厂学习起来也很简单,只是对工厂模式做了关于产品族和产品等级结构概念的扩展。

2018-07-15 12:55:27

阅读数 200

评论数 0

Java设计模式之工厂模式

上篇介绍了简单工厂,然而简单工厂并没有很好的遵守开闭原则,工厂模式是针对简单工厂不易扩展、对修改开放等缺点作出的改进。本文的依然选用上篇简单工厂中的手机品牌与厂家的例子。

2018-07-15 11:51:08

阅读数 101

评论数 0

Java设计模式之简单工厂

从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实...

2018-07-14 14:49:21

阅读数 97

评论数 0

Java设计模式之单例模式

单例模式是Java设计模式中最简单也是最常见的一种,它保证了在应用程序中,某个类只有一个实例存在。像配置文件的对象,数据库连接池,多线程的线程池,任务管理器等等,都是单例模式的典型应用。本文循序渐进,由简至繁,介绍单例模式的写法。

2018-07-13 15:10:14

阅读数 60

评论数 0

CryptoKitties源码剖析(二)——KittyBase

引言 上一节讲解了Ownable、ERC721、GeneScienceInterface、KittyAccessControl四个合约,今天来看看接下来的KittyBase这一合约。KittyBase是CryptoKitties的基类/合约。保存所有常见的structs, events 和 ba...

2018-06-12 11:27:14

阅读数 195

评论数 0

命令行与ECS通信详细流程

之前一直想写这个教程,正好前几天逛论坛时看到Azure的1元试用优惠会活动,玩了一会后决定记录一下,顺便甩个链接——Microsoft-Azure 试用申请表。 当然也不是一定要选用Azure,国内的云服务商如阿里云也都可以,选用其他服务商的可以跳过申请云服务器这一节。 一、申请云服务器 申...

2018-06-08 16:18:30

阅读数 194

评论数 0

CryptoKitties源码剖析(一)——Ownable、ERC721、GeneScienceInterface、KittyAccessControl

CryptoKitties是第一个基于Etherum的游戏Dapp,2017年下半年风靡一时,一度造成了Etherum网络的堵塞。虽然现在这款游戏的热度已经开始消退,但是作为技术学习而言,CryptoKitties确实是一个很好的案例参考教程。本节内容作为专栏的开篇,先以最基本的几个合约开始入手讲...

2018-06-07 20:24:19

阅读数 430

评论数 0

【CryptoKitties】CryptoKitties完整合约代码

CryptoKitties完整合约代码

2018-06-07 17:11:40

阅读数 371

评论数 0

windows+ubuntu双系统启动引导修复教程

准备工作 准备一个安装U盘,插入电脑->开机->选择试用Try ubuntu without install 输入命令 打开终端(Open Terminal),获取root权限,执行以下命令: $ sudo su # sudo add-apt-repository ppa:yann...

2018-06-03 20:01:25

阅读数 4449

评论数 3

使用truffle-contract与以太坊主链合约通信

truffle-contract与web3.js一样,都是用来与以太坊智能合约交互的JS库,但是相对于web3.js来说,truffle-contract封装得更简单一些,本文示范如何通过truffle-contract与以太坊主链上部署好的合约通信。 第一步引入相关的包和合约ABI文件,并通过...

2018-06-03 19:38:14

阅读数 804

评论数 0

GIT常用命令

GIT常用命令 初始化仓库 初始化仓库 注释 git init 在当前目录新建一个Git代码库 git init [project-name] 新建一个目录 $ git clone [url] 下载一个项目和它的整个代码历史 配置...

2018-06-02 20:27:28

阅读数 69

评论数 0

【Solidity】风格指南

风格指南 概述 本指南旨在约定 solidity 代码的编码规范。本指南是不断变化演进的,旧的、过时的编码规范会被淘汰, 而新的、有用的规范会被添加进来。 许多项目会实施他们自己的编码风格指南。如遇冲突,应优先使用具体项目的风格指南。 本风格指南中的结构和许多建议是取自 python ...

2018-06-01 13:21:12

阅读数 201

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭