路上走着
码龄15年
求更新 关注
提问 私信
  • 博客:69,241
    社区:9,093
    78,334
    总访问量
  • 52
    原创
  • 8
    粉丝
  • 2
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
加入CSDN时间: 2010-11-17
博客简介:

zengchen73的专栏

查看详细资料
个人成就
  • 获得9次点赞
  • 内容获得3次评论
  • 获得44次收藏
  • 博客总排名1,561,014名
创作历程
  • 13篇
    2018年
  • 13篇
    2017年
  • 33篇
    2014年
成就勋章
TA的专栏
  • Linux
    20篇
  • 计算机网络
    12篇
  • Python基础
    13篇
  • Python进阶
    1篇
  • go基础
    4篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • 服务器
    linux
创作活动更多

王者杯·14天创作挑战营·第2期

这是一个以写作博客为目的的创作活动,旨在鼓励码龄大于4年的博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见https://bbs.csdn.net/topics/619735097 2、文章质量分查询:https://www.csdn.net/qc 我们诚挚邀请你们参加为期14天的创作挑战赛!

78人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

以太坊如何部署智能合约

以太坊社区开发并开源了非常好用的在线 Solidity 集成开发环境Remix,可以方便的在 Remix 中编写、部署、测试智能合约,Remix 提供了强大的自动完成,语法高亮,实时编译检查错误等。打开remix,界面如下:在代码区输入一下合约代码:pragma solidity ^0.4.21;contract Phone { string public model;...
原创
发布博客 2018.07.27 ·
12637 阅读 ·
6 点赞 ·
3 评论 ·
27 收藏

go学习笔记 - 接口

接口是golang最重要的特性之一,在Go中,接口interface其实和其他语言的接口意思没什么区别。interface理解其为一种类型的规范或者约定。一种类型是不是“实现”了一个接口呢?就看这种类型是不是实现了接口中定义的所有方法。接⼝是一个或多个方法签名的集合,任何非接口类型只要拥有与之对应的全部方法实现 (包括相同的名称、参数列表以及返回值。),就表示它"实现" 了该接口,无需显式在该类型...
原创
发布博客 2018.07.25 ·
265 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

go爬虫设计(并发版)

 在单机版的基础上,将耗时最长,等待时间做多的进行并发 ,也就是Fetch模块Fetch的输出就是Parse的输入,也就是可以把Fetch和Parse合成一个模块 -- worker模块func ( ConcurrentEngine) Run(seeds ...Request){ var requests []Request for _, r := range seed...
原创
发布博客 2018.07.20 ·
1724 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

go网络编程基础

socketsocket原理Socket 原理Socket 连接,至少需要一对套接字,分为 clientSocket,serverSocket 连接分为3个步骤:(1) 服务器监听:服务器并不定位具体客户端的套接字,而是时刻处于监听状态; (2) 客户端请求:客户端的套接字要描述它要连接的服务器的套接字,提供地址和端口号,然后向服务器套接字提出连接请求; (3) 连接确认:当服...
原创
发布博客 2018.07.19 ·
254 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

go爬虫设计(单机版)

爬虫总体架构:  爬虫实现方案:   单机版 单机版架构主要模块有:处理引擎(Engine) 解析器(Parser) 下载器(Fetcher)流程:请求处理模型=请求URL + URL对应的Parse0: 先向引擎发起一个种子请求处理模型(URL+Parse) 1: 引擎将请求放入任务队列中 2: 引擎从任务队列中取出请求处...
原创
发布博客 2018.07.19 ·
321 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Go中使用Channel等待所有协程结束

让main方法等待所有协程执行完毕再退出。可能一般思路是设置一个共有变量,然后通过修改这个变量的状态。这是通过共享变量来通信的方式,而go要做的是,通过通信来共享内存。1. 按顺序执行每次通信进行成对通信,当main向协程发送一个写channel时,同时也等待协程返回一个读channel。    这两个channel一定是成对的,所以构造一个结构体            ty...
原创
发布博客 2018.07.17 ·
2789 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言最主要的特性

自动垃圾回收更丰富的内置类型函数多返回值错误处理匿名函数和闭包类型和接口并发编程反射语言交互性更丰富的内置类型数组,字符串,字典(Map),数组切片(Slice)因为是语言内置特性,开发者根本不用费事去添加依赖的包,既可以少一些输入工作量,也 可以让代码看起来尽量简洁。函数多返回值目前的主流语言中除Python外基本都不支持函数的多返回值功能 Go语言革命性地在静态开发语言阵营中率先提供了多返回值...
原创
发布博客 2018.07.14 ·
353 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

go的错误处理机制

defergo语言是实用defer做资源处理的defer是在函数结束,return之前时被调用 先进后出,可见是栈的结构 参数在defer语句时计算 何时使用deferopen/closelock/unlockprintHeader/printFooterfunc calc(index string, a, b int) int { ret := a + b fmt.Printf("%s %d...
原创
发布博客 2018.07.12 ·
543 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

如何通过Remix发布以太坊智能合约

以太坊社区开发并开源了非常好用的在线 Solidity 集成开发环境Remix,可以方便的在 Remix 中编写、部署、测试智能合约,Remix 提供了强大的自动完成,语法高亮,实时编译检查错误等。打开remix,界面如下:在代码区输入一下合约代码:pragma solidity ^0.4.21;contract Phone { string public model; int...
原创
发布博客 2018.07.11 ·
1781 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

go反射机制

1. 反射定律反射可以将“接口类型变量”转换为“反射类型对象”。反射可以将“反射类型对象”转换为“接口类型变量”。如果要修改“反射类型对象”,其值必须是“可写的”。a. “接口类型变量”=>“反射类型对象”所谓的反射类型,就是reflect.Type和reflect.Value var a int = 30 v := reflect.ValueOf(a) //返回Value类型对象,值...
原创
发布博客 2018.07.07 ·
1341 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

go的可变参数

go语言的方法没用花哨的方法重载之类的,没有默认参数,没有可选参数,只有一个可变参数 func TestArgs(f int, arg ...interface{}){ fmt.Println(f, arg)}func main(){ nums := []int{1,2,3,4} nums2 := []interface{}{5,6,7,8} TestArgs(nums) ...
原创
发布博客 2018.07.05 ·
1384 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

go语言的类型定义方式

a. 使用var var c1 chan int fmt.Println(c1) // <nil> var c2 map[string]int fmt.Println(c2) // map[] c2[“a”] = 1 // error :panic: assignment to entry in nil map v...
原创
发布博客 2018.07.03 ·
2739 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MAC环境变量

Mac系统的环境变量,加载顺序为: /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc规则:a ,b是系统级别的,系统启动就会加载,其余是用户接别的。c,d,e按照从前往后的顺序读取,如果c文件存在,则后面的几个文件就会被忽略不读了,以此类推。~/.ba
原创
发布博客 2018.05.02 ·
195 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python之IO编程

1.IO编程1.1 同步IO和异步IOIO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水,但是只能单向流动。Input Stream就是数据从外面(磁盘、网络)流进内存,Output Stream就是数据从内存流到外面去。对于浏览网页来说,浏览器和新浪服务器之间至少需要建立两根水管,才可以既能发数据,又能收数据。由于CPU和内存的速度远远高于外设的速度,所以
原创
发布博客 2017.08.10 ·
293 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python 面向对象编程

类与对象class Student(object): passstu = Students = Student()print (stu)print (Student)print (s)结果是:<class '__main__.Student'><class '__main__.Student'><__main__.Student object at 0x000002E28CE33E
原创
发布博客 2017.08.01 ·
490 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

递归与迭代

1. 递归1.11.2 递归形式1.2.1 无返回值样式1def st(n): if n <= 0: return #print (n) st(n-1) print (n)print (st(5))#----------12345None- 样式2def st(n): if n <= 0: return
原创
发布博客 2017.07.30 ·
388 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python 日志

1. logging levels官网: https://docs.python.org/3/tutorial/stdlib2.html#logging把print()替换为logging是第3种方式,和assert比,logging不会抛出错误,而且可以输出到文件: Level Numeric value 何时使用 CRITICAL 50 严重错误,表明软件已不能继续运行了。
原创
发布博客 2017.07.28 ·
417 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python之错误,调试和测试

1. 错误处理1.1 try …except…1.1.1 try …except…try: print ("try...") r = 10 / 0 print ("result:",r)except ZeroDivisionError as e: print ("except:",e)finally: print ("finally...")print (
原创
发布博客 2017.07.26 ·
724 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python之模块

1. 模块1.1 模块(Module)在Python中,一个.py文件就称之为一个模块(Module)。最大的好处是大大提高了代码的可维护性。 其次,编写代码不必从零开始。 使用模块还可以避免函数名和变量名冲突。1.2 包(Package)你也许还想到,如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。请注意,每一个包目
原创
发布博客 2017.07.25 ·
631 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

完全理解PYTHON迭代对象、迭代器、生成器

本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators,俺写的这篇文章是按照自己的理解做的参考翻译,算不上是原文的中译版本,推荐阅读原文,谢谢网友指正。在了解Python的数据结构时,容器(container)、可迭代对象(iterable)、迭代器(iterator)、生成器(generator)、列表/集合/字典推导式
转载
发布博客 2017.07.25 ·
282 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多