- 博客(33)
- 资源 (12)
- 收藏
- 关注
原创 第1节:什么是区块链
4年打磨-2022年海外一线大厂-以太坊开发教程(a solidity tutorial makes you a dapp expert)
2022-08-16 13:24:50
296
原创 最强以太坊源码解析-02-以太坊架构图
今天在网上看到一副描述以太坊框架的图示,拿过来分享一下:这张图很犀利,建议诸位去按照这个图原封不动的画一遍,相信会有很多收获!
2018-12-16 21:25:42
1464
原创 最强以太坊源码解析-01-启动流程
一、main函数geth命令是整个以太坊的灵魂,这个命令的实现代码位置为:cmd/geth/main.gofunc main() { if err := app.Run(os.Args); err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) }}我们可以看到,有一个app变量,这是一个全局变量,在init函数中赋值在go...
2018-12-12 18:13:35
853
原创 goland最新激活server(2018.5.21)
goland最新激活server(2018.5.21) http://www.activejetbrains.gq
2018-05-21 11:16:01
18209
1
原创 [闭目洞察算法系列之二]插入排序三种实现
直接插入排序的思想是:将一个待排序的数字按照指定的排序规则,插入到一个前面已经排好序的的子序列中, 从而形成一个新的子序列,等待下一个数字的插入, 直至所有数字排序结束。假设有数组a[0 ... n - 1], 排序流程为:a[0]位第一个有序子序列, a[1 ... n -1]为无序序列,令i = 1。将a[i]插入到指定位置, 插入后形成a[0 ... i] 有序子
2017-08-12 08:03:20
392
原创 Python基础数据结构(list, str, tuple, dict)
今天整理了一下Python常用的四种数据结构以及相应的操作,依旧使用导图来梳理的,希望能够让各位看到更直观一些。 里面也对个别知识点做了demo, 若有错误,请务必在留言中指正, 谢谢!最近打算用python做一个个人网站(学习摸索中),python和网站建设心得也会持续更新,欢迎关注!
2017-06-17 18:31:17
429
原创 apache + mod_wsgi + flask 搭建过程
1. 下载apache安装包http://httpd.apache.org/download.cgi#apache22name:httpd-2.4.25.tar.bz22. 解压到/tmp目录tar jxf httpd-2.4.25.tar.bz23. 编译./configure --prefix=/usr/local/apache --enable-module=most --enable-
2017-06-15 10:47:09
1316
原创 春秋战国至秦汉历史脉络图
春秋战国(公元前770年-公元前221年)是中国历史上的一段大分裂时期。东周在战国后期(前256年)被秦国所灭,所以春秋战国时期在时间上并不全然包含在东周王朝里面。西周时期,周天子保持着天下共主的威权。周平王东迁以后,东周开始,周室开始衰微,只保有天下共主的名义,而无实际的控制能力。中原各国也因社会经济条件不同,大国间争夺霸主的局面出现了,各国的兼并与争霸促成了各个地区的统一。因此,东周时期的社会
2017-05-27 13:55:10
15788
3
原创 三国历史脉络图
三国(220年-280年)是上承东汉下启西晋的一段历史时期,分为曹魏、蜀汉、东吴三个政权。赤壁之战时,曹操被孙刘联军击败,奠定了三国鼎立的雏型。220年,曹丕篡汉称帝,国号“魏”,史称曹魏,三国历史正式开始。次年刘备在成都延续汉朝,史称蜀汉。222年刘备在夷陵之战失败,孙权获得荆州大部。223年刘备去世,诸葛亮辅佐刘备之子刘禅与孙权重新联盟。229年孙权称帝,国号“吴”,史称东吴,至此三国正式
2017-05-26 16:46:11
7341
原创 设计模式六大原则之一:单一职责原则
遵循单一职责原则可以使功能细化到每一类身上, 降低功能颗粒度, 从而能够使得面临需求变更时, 能够将影响控制在最小范围内,并且方便扩展,从而达到迭代开发效果 详见下图: 参考博客:http://blog.youkuaiyun.com/zhengzhb/article/details/7278174 参考书籍:《设计模式之禅》
2017-05-19 16:12:11
377
原创 设计模式六大原则之五:迪米特法则
遵守迪米特法则编程可使程序类间耦合度降低,程序结构清晰。 带来的负面影响是程序变得复杂, 维护难度增加。 详见下图:参考文章:http://blog.youkuaiyun.com/zhengzhb/article/details/7296930 参考书籍:《设计模式之禅》
2017-05-19 11:16:44
500
原创 设计模式六大原则之四:接口隔离原则
接口隔离原则的含义是:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。在程序设计中,依赖几个专用的接口要比依赖一个综合的接口更灵活。接口是设计时对外部设定的“契约”,通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。详见下图:使用接口隔离原则设计接口时,要花
2017-05-17 10:16:52
475
1
原创 设计模式六大原则之三:依赖倒置原则
使用依赖倒置原则开发的程序非常利于扩展和维护,是实现开闭原则的基础,详见下图:示例类图: 具体文字描述,可以参考文章:http://blog.youkuaiyun.com/zhengzhb/article/details/7289269 注,本文并非对该链接的整理
2017-05-16 14:05:39
426
原创 C++接口,纯虚函数,抽象类的关系
C++没有提供interface这样的关键字来定义接口, 所以我们使用纯虚函数来实现接口功能,接口的使用可以使类之间的耦合度降低,从而避免因功能变更而导致高层频繁做出修改的现象发生(具体见“依赖倒置原则”),此处只给出基本的接口概念,便于后续知识学习,见下图: 后面会详细介绍“依赖倒置原则”,欢迎留言讨论!
2017-05-16 11:42:00
461
原创 排序算法关系图
设计模式和算法可谓是众多成员的软肋,尤其是算法,哪怕是多年的老油条,也不见得对所有的排序算法了如指掌,相反由于现在开源工具过于强大,常年的信手调用反而导致老司机们对基本的算法干货更说不清楚。最近开始整理算法只是,此处给出一个大体脉络图,希望对诸位同僚有益,见下图:over, let’s call it a day!
2017-05-15 18:02:04
889
原创 UML符号意义
最近在使用startUML画uml类图,顺便梳理了一下类图符号之间的关系,详情如下: 更新:添加左上角的“总结”, 欢迎留言讨论!
2017-05-15 17:52:49
642
原创 设计模式六大原则之二:里氏替换原则
这个模式从名字到解释都是云里雾里的,拜读了几篇博客,还是有些模棱两可,先整理一下,后续若理解深刻了,会持续更新。通俗定义:所有引用基类的地方必须能透明地使用其子类的对象问题由来:问题由来:有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。新功能P由类A的子类B来完成,则子类B在完成新功能P2的同时,有可能会导致原有功能P1发生故障(如下图)
2017-05-13 16:11:24
462
原创 C++重载,重写,重定义的区别
这三个概念一直比较混乱,正好看到了篇帖子,感觉不错,梳理了一下,详见下图:参考文章:http://blog.sina.com.cn/s/blog_8ddc5c2e01013hbd.html测试代码:test.h#ifndef _TEST_H#define _TEST_H#include <iostream>using std::cout;using std::endl;class Base{
2017-05-11 20:45:17
624
原创 C++ 建造者模式
前言建造者模式顾名思义描述的是对一个产品的建造过程,它主要用于创建流程固定,但是具体顺序不同的产品。四个角色产品类(Product) ====>(定义产品) 目标对象,通常是实现了模板方法模式, 即在产品基类中有模板方法和基本方法。抽象建造者(Builder) 规范产品的组件,易于扩展,一般至少会有两个抽象方法,一个用来建造产品,一个是用来返回产品。具体建造者(ConcreteBuil
2017-05-10 17:24:04
437
原创 C++ 单例模式
前言单例模式是最常用的设计模式之一, 它可以保证系统中只有一个实例,从而避免频繁的创建和销毁对象,减少系统开销特点全局只有一个实例,所有模块共享提供一个全局访问的方法:getInstance()代码实现#ifndef _SINGLETON_H#define _SINGLETON_Hclass Singleton{public: static Singleton * getIns
2017-05-08 20:12:12
615
原创 春秋战国历史脉络图
最近在读微信读书, 看到了一本非常有意思的书<<半小时漫画中国史>>,这本书将中国历史结合漫画故事来讲,娓娓道来,主线非常清晰, 一下子就将历史时间轴和各种耳熟能详的故事穿插了起来。趁着周末休息,在家带娃之余,借助强大的思维导图工具Xmind,我将书的脉络梳理了一下,分别奉上图片版和.xmid文件,详情如下:返回其单例,因为静态方法的内部不能直接使用非静态变量,所以返回的这个实例就是静态的
2017-05-08 10:43:33
5768
3
转载 C++中static作用
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数(见上篇),不涉及类;后者主要说明static在类中的作用。下图是对下面文字的总结: 静态数据成员在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员。先举一个静态数据成员的例子。//Example 1include <iostream.h>c
2017-05-06 11:40:55
430
转载 C语言中 static作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。隐藏保持数据持久初始化为0该图是下面文字的总结:1.先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; //
2017-05-06 11:03:48
1343
原创 C++ 异常处理
一、前言 异常处理使得程序在出现错误时能够得到及时的处理,以免程序崩溃或者未退出而引起更严重的错误。退出是无法接受的,严重的错误又很难查,这会使查问题的人崩溃。二、基本语法1.关键字抛异常: throw 捕捉 :try/catch2.函数声明异常是在函数中抛出的,这些函数在声明时可以对内部的异常处理进行描述, 这有助于调用者了解内部机制。1. void TestFunction();
2017-04-08 11:15:24
410
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人