05 2020 档案

摘要:1 阅读全文
posted @ 2020-05-31 23:46 顽强的allin 阅读(113) 评论(0) 推荐(0)
摘要:数据库设计的两个原则: 1.三范式: 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列; 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键,二是没有包含在主键中的列必须完全依赖于主键,而不能依赖于主键的一部分。 第三范式(3NF):首先是 2NF,另外非主 阅读全文
posted @ 2020-05-29 23:56 顽强的allin 阅读(153) 评论(0) 推荐(0)
摘要:方法集:定义了一组关联到给定类型的值或者指针的方法。定义方法时使用的接收者的类型决定了这个方法时关联到值,还是关联到指针,还是两个都关联。 规范里描述的方法集: Values Methods Receivers T (t T) *T (t T) and (t *T) T类型的值的方法集只包含值接收者 阅读全文
posted @ 2020-05-28 16:04 顽强的allin 阅读(636) 评论(0) 推荐(0)
摘要:1.git的两大特点: 1)版本控制:可以解决多人同时开发的问题,也可以解决找回历史代码的问题。 2)分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。 2.创建一个版本库 git init 1)创建一个版本 git add code.txt (工作区提交到暂存区) gi 阅读全文
posted @ 2020-05-26 23:59 顽强的allin 阅读(142) 评论(0) 推荐(0)
摘要:在声明一个新类型之后,声明一个该类型的方法之前,需要先回答一个问题:这个类型的本质是什么。如果给这个类型增加或者删除某个值,是要创建一个新值,还是要更改当前的值?如果是要创建一个新值,该类型的方法就使用值接收者。如果是要修改当前值,就使用指针接收者。这个答案也会影响程序内部传递这个类型的值的方式:是 阅读全文
posted @ 2020-05-26 12:10 顽强的allin 阅读(193) 评论(0) 推荐(0)
摘要:第17条:在参数上面迭代是,要多加小心 def read_visits(data_path): with open(data_path) as f: for line in f: yield int(line) visits = read_visits("./my_numbers.txt") pri 阅读全文
posted @ 2020-05-25 18:20 顽强的allin 阅读(619) 评论(0) 推荐(0)
摘要:快速排序 时间复杂度:O(nlogn) def partition(li, left, right): tmp = li[left] while left < right: while left < right and li[right] >= tmp: # 从右边找比tmp小的数 right -= 阅读全文
posted @ 2020-05-17 17:02 顽强的allin 阅读(263) 评论(0) 推荐(0)
摘要:时间复杂度:O(n ** 2) def insert_sort(li): for i in range(len(li)): temp = li[i] j = i - 1 while j >= 0 and li[j] > temp: li[j + 1] = li[j] j -= 1 li[j + 1] 阅读全文
posted @ 2020-05-16 22:35 顽强的allin 阅读(163) 评论(0) 推荐(0)
摘要:建议61:使用更为安全的property property是用来实现属性可管理性的built-in数据类型。它实际上是一种实现了__get__(), __set__()方法的类,用户也可以根据自己的需要定义个性化的property,其实质是一种特殊的数据描述符(数据描述符:如果一个对象同时定义了__ 阅读全文
posted @ 2020-05-13 14:00 顽强的allin 阅读(379) 评论(0) 推荐(0)
摘要:在Go中使用接口(interface{})好像有性能问题,来看一个例子:跑了三个benchmark,一个是接口调用,一个是直接使用,后面又加了一个接口断言后调用 lib_test.go package main import "testing" type D interface { Append(D 阅读全文
posted @ 2020-05-12 11:11 顽强的allin 阅读(1058) 评论(0) 推荐(0)
摘要:建议34:str()和repr()的区别 1)两者之间的目标不同:str()主要面向用户,其目的是可读性,返回形式为用户友好性和可读性都较强的字符串类型;而repr()面向的是python解释器,或者说开发人员,期目的是准确性,其返回值表示python解释器内部的含义,常作为编程人员debug用途。 阅读全文
posted @ 2020-05-09 22:59 顽强的allin 阅读(339) 评论(0) 推荐(0)
摘要:建议2:编写pythonic代码 (1)要避免劣化代码 1)避免只用大小写来区分不同的对象 2)避免使用容易引起混淆的名称 3)不要害怕过长的变量名 (2)深入认识python有助于编写pythonic代码 使用PEP8来检查代码规范 pip install -U pep8 (python3改为pi 阅读全文
posted @ 2020-05-05 23:54 顽强的allin 阅读(640) 评论(0) 推荐(0)
摘要:go-micro安装成功后(安装过程百度很多),会报错: 原因:在go-micro里面引用的etcd的包是 http://github.com/coreos/etcd/clientv3而不是http://go.etcd.io/etcd/clientv3这样一来可能就需要改源码了。 找到包http:/ 阅读全文
posted @ 2020-05-04 15:29 顽强的allin 阅读(3121) 评论(1) 推荐(0)
摘要:背景 已经学习了微服务之间通信采用的通信协议,如何实现服务的注册和发现,搭建服务管理集群,以及服务与服务之间的RPC通信方式。具体的内容包括:protobuf协议,consul及docker部署consul集群,gRPC框架的使用等具体的实现方案。 以上这些具体的方案都是为了解决微服务实践过程中具体 阅读全文
posted @ 2020-05-03 09:30 顽强的allin 阅读(6117) 评论(1) 推荐(2)