读书笔记

读书笔记

#Go即将支持泛型#关于泛型,你应该了解的一些细节

GoLangzkbhj 发表了文章 • 0 个评论 • 56 次浏览 • 2020-06-17 10:48 • 来自相关话题

什么是泛型?

“泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。”

 什么是自然语言?

“自然语言通常是指一种自然地随文化演化的语言。英语、汉语、日语为自然语言的例子,而世界语则为人造语言,即是一种由人蓄意为某些特定目的而创造的语言。 不过,有时所有人类使用的语言(包括上述自然地随文化演化的语言,以及人造语言) 都会被视为“自然”语言,以相对于如编程语言等为计算机而设的“人造”语言。这一种用法可见于自然语言处理一词中。自然语言是人类交流和思维的主要工具。 自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的。 ”


这是百度百科的解释,通俗地说我们日常交流使用的语言都是自然语言,比如汉语、英语、法语、藏语等等。
 
什么是程序设计语言?

“程序设计语言,programming language。用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号 串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记 号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。语用表示程序与使用者的关系。 ”

 泛型不是自然语言里的概念,那么它们之间有关系吗?泛型在自然语言里找到的出处吗?
 
有关系。因为泛型是面向对象里的概念,而面向对象是一种对现实世界理解和抽象的方法,自然语言也是对现实世界的一种理解,所以它们之间是有关系的。
 
比如这么一段程序,就实现了泛型。class Test<T>
{
public T obj;
public Set(T t)
{
this.obj = t;
}
}
比如说C#里的List,它是一个泛型类,把它翻译成中文就是列表。

List<T> ;

T是占位类型。List就像是一个容器,可以向里面放任何类型。

创建一个List是这样List<string> list = new List<string>();

如果有一个学生类型,那么可以这样List<学生> list ;

如果用中文表示,可以这样声明 列表<学生>list,

去掉符号就是 学生列表list

“学生列表”这是符合自然语言的偏正短语。

这样就证明了自然语言是支持泛型。最大的不同是类型名称和占位类型的前后位置不同,在程序设计语言是列表<学生>,在自然语言中是学生列表。

自然语言也支持两个泛型参数的泛型类。

比如Dictionary,根据它的功能用准确点的称呼“键值表”。比如声明一个Dictionary<姓名,学生>,就是声明一个姓名学生键值表。“姓名学生键值表”这也是符合汉语语法的短语。

所以自然语言是支持程序设计语言中的泛型的。
 
重要说明~
 
泛型,一般指编译期间,由编译器去认知的类型识别。注意两个词:时间点--“编译期”,服务目标--“编译器”。编译器干完活后,出来的就是精准而无冗余的代码

另一种叫“运行时”识别,消耗一定的内存空间,来存放和记录类型属性,这种一般不叫泛型。比如 Go 的 interface 可认为就是这种。 查看全部
什么是泛型?


“泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。”


 什么是自然语言?


“自然语言通常是指一种自然地随文化演化的语言。英语、汉语、日语为自然语言的例子,而世界语则为人造语言,即是一种由人蓄意为某些特定目的而创造的语言。 不过,有时所有人类使用的语言(包括上述自然地随文化演化的语言,以及人造语言) 都会被视为“自然”语言,以相对于如编程语言等为计算机而设的“人造”语言。这一种用法可见于自然语言处理一词中。自然语言是人类交流和思维的主要工具。 自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的。 ”



这是百度百科的解释,通俗地说我们日常交流使用的语言都是自然语言,比如汉语、英语、法语、藏语等等。
 
什么是程序设计语言?


“程序设计语言,programming language。用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号 串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记 号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。语用表示程序与使用者的关系。 ”


 泛型不是自然语言里的概念,那么它们之间有关系吗?泛型在自然语言里找到的出处吗?
 
有关系。因为泛型是面向对象里的概念,而面向对象是一种对现实世界理解和抽象的方法,自然语言也是对现实世界的一种理解,所以它们之间是有关系的。
 
比如这么一段程序,就实现了泛型。
class Test<T>
{
public T obj;
public Set(T t)
{
this.obj = t;
}
}

比如说C#里的List,它是一个泛型类,把它翻译成中文就是列表。

List<T> ;

T是占位类型。List就像是一个容器,可以向里面放任何类型。

创建一个List是这样List<string> list = new List<string>();

如果有一个学生类型,那么可以这样List<学生> list ;

如果用中文表示,可以这样声明 列表<学生>list,

去掉符号就是 学生列表list

“学生列表”这是符合自然语言的偏正短语。

这样就证明了自然语言是支持泛型。最大的不同是类型名称和占位类型的前后位置不同,在程序设计语言是列表<学生>,在自然语言中是学生列表。

自然语言也支持两个泛型参数的泛型类。

比如Dictionary,根据它的功能用准确点的称呼“键值表”。比如声明一个Dictionary<姓名,学生>,就是声明一个姓名学生键值表。“姓名学生键值表”这也是符合汉语语法的短语。

所以自然语言是支持程序设计语言中的泛型的。
 
重要说明~
 
泛型,一般指编译期间,由编译器去认知的类型识别。注意两个词:时间点--“编译期”,服务目标--“编译器”。编译器干完活后,出来的就是精准而无冗余的代码

另一种叫“运行时”识别,消耗一定的内存空间,来存放和记录类型属性,这种一般不叫泛型。比如 Go 的 interface 可认为就是这种。

#2020学习打卡##Go语言高级编程# 什么是第一类对象?

回复

GoLangzkbhj 回复了问题 • 1 人关注 • 1 个回复 • 69 次浏览 • 2020-06-09 17:23 • 来自相关话题

#2020学习打卡##Go语言高级编程# Go语言中的函数闭包

GoLangzkbhj 发表了文章 • 0 个评论 • 63 次浏览 • 2020-06-09 16:54 • 来自相关话题

今天的学习内容是Go函数,这里面会涉及一个概念——闭包!复习一下~
 
闭包的概念

是可以包含自由(未绑定到特定对象)变量的代码块,这些变量不在这个代码块内或者任何全局上下文中定义,而是在定义代码块的环境中定义。要执行的代码块(由于自由变量包含在代码块中,所以这些自由变量以及它们引用的对象没有被释放)为自由变量提供绑定的计算环境(作用域)。

各种专业文献的闭包定义都非常抽象,我的理解是: 闭包就是能够读取其他函数内部变量的函数。

在javascript语言或者go中,只有函数内部的子函数才能读取局部变量,所以说,闭包可以简单理解成“定义在一个函数内部的函数“。

所以,在本质上,闭包是将函数内部和函数外部连接起来的桥梁。

闭包的价值 

闭包的价值在于可以作为函数对象或者匿名函数,对于类型系统而言,这意味着不仅要表示数据还要表示代码。支持闭包的多数语言都将函数作为第一级对象,就是说这些函数可以存储到变量中作为参数传递给其他函数,最重要的是能够被函数动态创建和返回。


闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中,不会在函数调用后被自动清除。

Go语言中的闭包同样也会引用到函数外的变量。闭包的实现确保只要闭包还被使用,那么被闭包引用的变量会一直存在。 
总结

闭包并不是一门编程语言不可缺少的功能,但闭包的表现形式一般是以匿名函数的方式出现,就象上面说到的,能够动态灵活的创建以及传递,体现出函数式编程的特点。所以在一些场合,我们就多了一种编码方式的选择,适当的使用闭包可以使得我们的代码简洁高效。

使用闭包的注意点

由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包
 下面用一个例子体现闭包
package main

import "fmt"
/*
李逵和武松的Study方法的逻辑是几乎一模一样的
然而为了分别保存两人的学习进度,需要开辟两个全局变量,函数内部的需要使用两条分支结构才能完成业务逻辑
如果是108将都来学习。。。
此时代码的可复用性很差
*/
var progress int
func Study(name string, hours int) ( int) {
fmt.Printf("%s学习了%d小时",name,hours)
progress += hours
return hours
}
func main081() {
progress := Study("黑旋风",5)
fmt.Printf("李逵的学习进度%d/10000",progress)
}

/*
使用闭包函数优化Study
每个人有不同的学习进度,将这个进度保存在【各自的闭包】中
*/
/*
闭包函数:返回函数的函数
闭包函数的好处:使用同一份内层函数的代码,创建出任意多个不同的函数对象,这些对象各自的状态都被保存在函数闭包(外层函数)中,各行其道,互不干扰
*/

func GetStudy(name string) func(int) int{
var progress int
study := func(hours int) int {
fmt.Printf("%s学习了%d小时\n", name ,hours)
progress += hours
return progress
}
return study
}

func main() {
studyFunc := GetStudy("李逵")
studyFunc(3)
studyFunc(5)
likuiProgress := studyFunc(2)
fmt.Printf("李逵的学习进度%d/10000\n",likuiProgress)
studyFunc1 := GetStudy("宋江")
studyFunc1(9)
studyFunc1(8)
songjiangProgress1 := studyFunc1(5)
fmt.Printf("宋江的学习进度%d/10000\n",songjiangProgress1)
}李逵学习了3小时
李逵学习了5小时
李逵学习了2小时
李逵的学习进度10/10000
宋江学习了9小时
宋江学习了8小时
宋江学习了5小时
宋江的学习进度22/10000
 
 
 
参考文档:
https://www.cnblogs.com/cxying93/p/6103375.html
https://www.cnblogs.com/hzhuxin/p/9199332.html
https://www.cnblogs.com/yunweiqiang/p/11796135.html
  查看全部
今天的学习内容是Go函数,这里面会涉及一个概念——闭包!复习一下~
 
闭包的概念


是可以包含自由(未绑定到特定对象)变量的代码块,这些变量不在这个代码块内或者任何全局上下文中定义,而是在定义代码块的环境中定义。要执行的代码块(由于自由变量包含在代码块中,所以这些自由变量以及它们引用的对象没有被释放)为自由变量提供绑定的计算环境(作用域)。


各种专业文献的闭包定义都非常抽象,我的理解是: 闭包就是能够读取其他函数内部变量的函数

在javascript语言或者go中,只有函数内部的子函数才能读取局部变量,所以说,闭包可以简单理解成“定义在一个函数内部的函数“。

所以,在本质上,闭包是将函数内部和函数外部连接起来的桥梁

闭包的价值 


闭包的价值在于可以作为函数对象或者匿名函数,对于类型系统而言,这意味着不仅要表示数据还要表示代码。支持闭包的多数语言都将函数作为第一级对象,就是说这些函数可以存储到变量中作为参数传递给其他函数,最重要的是能够被函数动态创建和返回



闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中,不会在函数调用后被自动清除。

Go语言中的闭包同样也会引用到函数外的变量。闭包的实现确保只要闭包还被使用,那么被闭包引用的变量会一直存在。 
总结

闭包并不是一门编程语言不可缺少的功能,但闭包的表现形式一般是以匿名函数的方式出现,就象上面说到的,能够动态灵活的创建以及传递,体现出函数式编程的特点。所以在一些场合,我们就多了一种编码方式的选择,适当的使用闭包可以使得我们的代码简洁高效

使用闭包的注意点

由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包
 下面用一个例子体现闭包
package main

import "fmt"
/*
李逵和武松的Study方法的逻辑是几乎一模一样的
然而为了分别保存两人的学习进度,需要开辟两个全局变量,函数内部的需要使用两条分支结构才能完成业务逻辑
如果是108将都来学习。。。
此时代码的可复用性很差
*/
var progress int
func Study(name string, hours int) ( int) {
fmt.Printf("%s学习了%d小时",name,hours)
progress += hours
return hours
}
func main081() {
progress := Study("黑旋风",5)
fmt.Printf("李逵的学习进度%d/10000",progress)
}

/*
使用闭包函数优化Study
每个人有不同的学习进度,将这个进度保存在【各自的闭包】中
*/
/*
闭包函数:返回函数的函数
闭包函数的好处:使用同一份内层函数的代码,创建出任意多个不同的函数对象,这些对象各自的状态都被保存在函数闭包(外层函数)中,各行其道,互不干扰
*/

func GetStudy(name string) func(int) int{
var progress int
study := func(hours int) int {
fmt.Printf("%s学习了%d小时\n", name ,hours)
progress += hours
return progress
}
return study
}

func main() {
studyFunc := GetStudy("李逵")
studyFunc(3)
studyFunc(5)
likuiProgress := studyFunc(2)
fmt.Printf("李逵的学习进度%d/10000\n",likuiProgress)
studyFunc1 := GetStudy("宋江")
studyFunc1(9)
studyFunc1(8)
songjiangProgress1 := studyFunc1(5)
fmt.Printf("宋江的学习进度%d/10000\n",songjiangProgress1)
}
李逵学习了3小时
李逵学习了5小时
李逵学习了2小时
李逵的学习进度10/10000
宋江学习了9小时
宋江学习了8小时
宋江学习了5小时
宋江的学习进度22/10000

 
 
 
参考文档:
https://www.cnblogs.com/cxying93/p/6103375.html
https://www.cnblogs.com/hzhuxin/p/9199332.html
https://www.cnblogs.com/yunweiqiang/p/11796135.html
 

#2020学习打卡##Go语言高级编程# 数组初始化时,索引初始化怎么理解?

回复

GoLangzkbhj 回复了问题 • 1 人关注 • 1 个回复 • 83 次浏览 • 2020-06-07 15:34 • 来自相关话题

我的阅读分享:《梦幻花》

读后感zkbhj 发表了文章 • 0 个评论 • 71 次浏览 • 2020-06-05 13:13 • 来自相关话题

阅读书目:《梦幻花》
作者:东野圭吾 著
书籍类型:侦探推理小说
页数:320页
阅读开始时间:2020年6月5日
阅读结束时间:2020年6月9日00:50:59
如何发现这本书:东野书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:每个人都有一生注定要坚持和守护的东西!确实没有在开头猜出谁是凶手,结尾的升华很棒,给人以反思和教育。
豆瓣地址:https://book.douban.com/subject/33427878/






  查看全部


阅读书目:《梦幻花》
作者:东野圭吾 著
书籍类型:侦探推理小说
页数:320页
阅读开始时间:2020年6月5日
阅读结束时间:2020年6月9日00:50:59
如何发现这本书:东野书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:每个人都有一生注定要坚持和守护的东西!确实没有在开头猜出谁是凶手,结尾的升华很棒,给人以反思和教育。
豆瓣地址:https://book.douban.com/subject/33427878/



4c896d29a339d64b.jpg

 

我的阅读分享:《永久记录》

读后感zkbhj 发表了文章 • 0 个评论 • 58 次浏览 • 2020-06-04 14:53 • 来自相关话题

阅读书目:《永久记录》
作者:[美] 爱德华·斯诺登 著,萧美惠 郑胜得 译
书籍类型:自传&纪实
页数:320页
阅读开始时间:2020年5月31日
阅读结束时间:阅读中
如何发现这本书:在中信书店(北京启皓店)发现的一本书
阅读次数:第1次
阅读类型:泛读 -- >精读
推荐等级:★★★★
阅读建议:本打算是想要泛读一下这本书的,但是在书店看了三分之一书之后,被内容所吸引了。回来就在京东上买了一本,打算仔细阅读一下。不仅仅是因为自己也是从事这方面工作的原因(当然不是情报机构,只是一个普通的码农),但是计算机对我们生活产生的深刻影响,是从小一直经历过来的,可以说斯诺登的经历,也是我自己的经历(某些方面),有些地方甚至会引起共鸣。另外一个原因是,这本书想要揭露的内容,也非常吸引我想要继续去深入的了解。尤其是最近疫情以来,中美关系的未来越发的扑朔迷离,也加剧了这种吸引力。读完之后,再完善阅读体验。
豆瓣地址:https://book.douban.com/subject/34862375/






  查看全部


阅读书目:《永久记录》
作者:[美] 爱德华·斯诺登 著,萧美惠 郑胜得 译
书籍类型:自传&纪实
页数:320页
阅读开始时间:2020年5月31日
阅读结束时间:阅读中
如何发现这本书:在中信书店(北京启皓店)发现的一本书
阅读次数:第1次
阅读类型:泛读 -- >精读
推荐等级:★★★★
阅读建议:本打算是想要泛读一下这本书的,但是在书店看了三分之一书之后,被内容所吸引了。回来就在京东上买了一本,打算仔细阅读一下。不仅仅是因为自己也是从事这方面工作的原因(当然不是情报机构,只是一个普通的码农),但是计算机对我们生活产生的深刻影响,是从小一直经历过来的,可以说斯诺登的经历,也是我自己的经历(某些方面),有些地方甚至会引起共鸣。另外一个原因是,这本书想要揭露的内容,也非常吸引我想要继续去深入的了解。尤其是最近疫情以来,中美关系的未来越发的扑朔迷离,也加剧了这种吸引力。读完之后,再完善阅读体验。
豆瓣地址:https://book.douban.com/subject/34862375/



12bcdd00ed88c970.jpg

 

我的阅读分享:《C语言程序设计(第2版)》

读后感zkbhj 发表了文章 • 0 个评论 • 65 次浏览 • 2020-06-04 14:47 • 来自相关话题

阅读书目:《C语言程序设计(第2版)》
作者:[美] 布莱恩·W.克尼汉(Brian W.Kernighan),[美] 丹尼斯·M.里奇(Dennis M.Ritchie) 编,徐宝文,李志 译
书籍类型:编程开发
页数:258页
阅读开始时间:2020年4月2日
阅读结束时间:2020年5月31日
如何发现这本书:自如·互联网研发部·搜索推荐研发组 放学别走2020第一期学习科目
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:经过2个月的坚持打卡,每天下班1个到2个小时的学习交流,完成了C语言的全面系统的学习和练习。这本书虽然是C语言届类似圣经版存在的书籍,但是为什么没有给出4星推荐,理由很简单,这本书还是有些过时了,8几年的内容在现在来开,有些确实已经不够现代。还有就是这个翻译,真的是,问题太多了,很多内容可能真的需要看英文原版来对比学习,才能真正体会他要表达的含义。没办法,并没有找到比这本更好的学习C语言的教材范本,如果你有好的书,欢迎推荐给我,一起学习交流。

 





  查看全部


阅读书目:《C语言程序设计(第2版)》
作者:[美] 布莱恩·W.克尼汉(Brian W.Kernighan),[美] 丹尼斯·M.里奇(Dennis M.Ritchie) 编,徐宝文,李志 译
书籍类型:编程开发
页数:258页
阅读开始时间:2020年4月2日
阅读结束时间:2020年5月31日
如何发现这本书:自如·互联网研发部·搜索推荐研发组 放学别走2020第一期学习科目
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:经过2个月的坚持打卡,每天下班1个到2个小时的学习交流,完成了C语言的全面系统的学习和练习。这本书虽然是C语言届类似圣经版存在的书籍,但是为什么没有给出4星推荐,理由很简单,这本书还是有些过时了,8几年的内容在现在来开,有些确实已经不够现代。还有就是这个翻译,真的是,问题太多了,很多内容可能真的需要看英文原版来对比学习,才能真正体会他要表达的含义。没办法,并没有找到比这本更好的学习C语言的教材范本,如果你有好的书,欢迎推荐给我,一起学习交流。


 

9ceff26db3a586c1.jpg

 

我的阅读分享:《佩德罗·巴拉莫》

读后感zkbhj 发表了文章 • 0 个评论 • 58 次浏览 • 2020-06-04 14:30 • 来自相关话题

阅读书目:《佩德罗·巴拉莫》
作者:[墨西哥] 胡安.鲁尔福 著,屠孟超 译
书籍类型:魔幻现实主义小说
页数:177页
阅读开始时间:2020年6月3日
阅读结束时间:2020年6月4日14:41:02
如何发现这本书:2019年豆瓣书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:说实话,这是我第一次读这本小说,给我的第一感觉是。混乱,零碎,不知所云,穿越,模糊~ 你能够想到的一些“读不懂”的关键词,都能用来形容我第一次读完这本小说的感受。作为“魔幻现实主义小说的开山之作”,我觉得是我的阅读水平和理解能力还没有达到那个水平,所以才会有这种感觉。不可否认,这本小说出现了现代小说手法中的绝大多数,时间概念、生死概念,在这本书里已经完全被模糊掉,整个故事感觉就像是“死人之间的交流”,你不知道说出这些独白、提出这些想法的到底是活人还是死人。希望以后再次阅读这本书时能有不一样的感受,那应该就是“成长”的样子了。
豆瓣地址:https://book.douban.com/subject/26877595/






  查看全部


阅读书目:《佩德罗·巴拉莫》
作者:[墨西哥] 胡安.鲁尔福 著,屠孟超 译
书籍类型:魔幻现实主义小说
页数:177页
阅读开始时间:2020年6月3日
阅读结束时间:2020年6月4日14:41:02
如何发现这本书:2019年豆瓣书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:说实话,这是我第一次读这本小说,给我的第一感觉是。混乱,零碎,不知所云,穿越,模糊~ 你能够想到的一些“读不懂”的关键词,都能用来形容我第一次读完这本小说的感受。作为“魔幻现实主义小说的开山之作”,我觉得是我的阅读水平和理解能力还没有达到那个水平,所以才会有这种感觉。不可否认,这本小说出现了现代小说手法中的绝大多数,时间概念、生死概念,在这本书里已经完全被模糊掉,整个故事感觉就像是“死人之间的交流”,你不知道说出这些独白、提出这些想法的到底是活人还是死人。希望以后再次阅读这本书时能有不一样的感受,那应该就是“成长”的样子了。
豆瓣地址:https://book.douban.com/subject/26877595/



5a055155N29ae0573.jpg

 

我的阅读分享:《喜鹊谋杀案》

读后感zkbhj 发表了文章 • 0 个评论 • 72 次浏览 • 2020-06-04 14:24 • 来自相关话题

阅读书目:《喜鹊谋杀案》
作者:[英] 安东尼˙霍洛维茨 著,梁清新 译
书籍类型:侦探推理小说
页数:508页
阅读开始时间:2020年5月28日
阅读结束时间:2020年6月3日01:20:02
如何发现这本书:2019年豆瓣书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★★
阅读建议:如果你是一个侦探推理小说的小说迷,那么这本书觉得值得你一读!和其他类型的侦探小说的写作手法完全不同,这本案中案,小说中的小说,会给你完全耳目一新的感觉和体验。一句话“写侦探小说的人杀死了侦探!”,这一句话,就足够吊起你的胃口~~
豆瓣地址:https://book.douban.com/subject/33445034/






  查看全部


阅读书目:《喜鹊谋杀案》
作者:[英] 安东尼˙霍洛维茨 著,梁清新 译
书籍类型:侦探推理小说
页数:508页
阅读开始时间:2020年5月28日
阅读结束时间:2020年6月3日01:20:02
如何发现这本书:2019年豆瓣书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★★
阅读建议:如果你是一个侦探推理小说的小说迷,那么这本书觉得值得你一读!和其他类型的侦探小说的写作手法完全不同,这本案中案,小说中的小说,会给你完全耳目一新的感觉和体验。一句话“写侦探小说的人杀死了侦探!”,这一句话,就足够吊起你的胃口~~
豆瓣地址:https://book.douban.com/subject/33445034/



024baff7f9d280aa.jpg

 

#阅读2020#2020年第3季度读书计划

读书计划zkbhj 发表了文章 • 0 个评论 • 100 次浏览 • 2020-05-29 15:27 • 来自相关话题

2020年第3季度读书计划

时间跨度:7、8、9三个月

第3季度精读书目表(总)
《Flutter:从0到1构建大前端应用》何瑞君 (技术:技能提升)《Go语言高级编程》柴树衫、曹春辉(技术:技能提升)《Dart编程语言》[美]Gilad Bracha(技术:技能提升)《贫穷的本质》阿比吉特·巴纳吉 著(技能:经济&思维提升)《八百万种死法》[美] 劳伦斯·布洛克,[Lawrence,Block] 著(小说:悬疑推理)《霍乱时期的爱情》[哥伦比亚] 加西亚•马尔克斯 著(小说:爱情经典)《S. 忒修斯之船 (简体中文典藏复刻版)》[美] J·J·艾布拉姆斯,[美] 道格·道斯特 著,颜湘如 译(小说:悬疑推理)《从一到无穷大:科学中的事实与猜想》乔治·伽莫夫 著(科普经典)《挪威的森林》[日] 村上春树 著(小说:爱情经典)《一年顶十年》剽悍一只猫 著(技能:自我管理)《次第花开》希阿荣博堪布著 著(文化:藏人精神保持愉悦的秘密)《我的前半生》爱新觉罗·溥仪 著(历史:历史人物) 
 
 
 
第3季度粗读书目表(总)  查看全部
2020年第3季度读书计划

时间跨度:7、8、9三个月

第3季度精读书目表(总)
  1. 《Flutter:从0到1构建大前端应用》何瑞君 (技术:技能提升)
  2. 《Go语言高级编程》柴树衫、曹春辉(技术:技能提升)
  3. 《Dart编程语言》[美]Gilad Bracha(技术:技能提升)
  4. 《贫穷的本质》阿比吉特·巴纳吉 著(技能:经济&思维提升)
  5. 《八百万种死法》[美] 劳伦斯·布洛克,[Lawrence,Block] 著(小说:悬疑推理)
  6. 《霍乱时期的爱情》[哥伦比亚] 加西亚•马尔克斯 著(小说:爱情经典)
  7. 《S. 忒修斯之船 (简体中文典藏复刻版)》[美] J·J·艾布拉姆斯,[美] 道格·道斯特 著,颜湘如 译(小说:悬疑推理)
  8. 《从一到无穷大:科学中的事实与猜想》乔治·伽莫夫 著(科普经典)
  9. 《挪威的森林》[日] 村上春树 著(小说:爱情经典)
  10. 《一年顶十年》剽悍一只猫 著(技能:自我管理)
  11. 《次第花开》希阿荣博堪布著 著(文化:藏人精神保持愉悦的秘密)
  12. 《我的前半生》爱新觉罗·溥仪 著(历史:历史人物)
  13.  

 
 
 
第3季度粗读书目表(总) 

#2020学习打卡##Go语言高级编程# 什么是第一类对象?

回复

GoLangzkbhj 回复了问题 • 1 人关注 • 1 个回复 • 69 次浏览 • 2020-06-09 17:23 • 来自相关话题

#2020学习打卡##Go语言高级编程# 数组初始化时,索引初始化怎么理解?

回复

GoLangzkbhj 回复了问题 • 1 人关注 • 1 个回复 • 83 次浏览 • 2020-06-07 15:34 • 来自相关话题

什么是新基建?什么是旧基建?有什么区别?

回复

北漂一族zkbhj 回复了问题 • 1 人关注 • 1 个回复 • 197 次浏览 • 2020-04-26 10:58 • 来自相关话题

“阿喀琉斯之踵”是什么意思?

回复

随手记zkbhj 回复了问题 • 1 人关注 • 1 个回复 • 1097 次浏览 • 2018-07-25 13:25 • 来自相关话题

#Go即将支持泛型#关于泛型,你应该了解的一些细节

GoLangzkbhj 发表了文章 • 0 个评论 • 56 次浏览 • 2020-06-17 10:48 • 来自相关话题

什么是泛型?

“泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。”

 什么是自然语言?

“自然语言通常是指一种自然地随文化演化的语言。英语、汉语、日语为自然语言的例子,而世界语则为人造语言,即是一种由人蓄意为某些特定目的而创造的语言。 不过,有时所有人类使用的语言(包括上述自然地随文化演化的语言,以及人造语言) 都会被视为“自然”语言,以相对于如编程语言等为计算机而设的“人造”语言。这一种用法可见于自然语言处理一词中。自然语言是人类交流和思维的主要工具。 自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的。 ”


这是百度百科的解释,通俗地说我们日常交流使用的语言都是自然语言,比如汉语、英语、法语、藏语等等。
 
什么是程序设计语言?

“程序设计语言,programming language。用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号 串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记 号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。语用表示程序与使用者的关系。 ”

 泛型不是自然语言里的概念,那么它们之间有关系吗?泛型在自然语言里找到的出处吗?
 
有关系。因为泛型是面向对象里的概念,而面向对象是一种对现实世界理解和抽象的方法,自然语言也是对现实世界的一种理解,所以它们之间是有关系的。
 
比如这么一段程序,就实现了泛型。class Test<T>
{
public T obj;
public Set(T t)
{
this.obj = t;
}
}
比如说C#里的List,它是一个泛型类,把它翻译成中文就是列表。

List<T> ;

T是占位类型。List就像是一个容器,可以向里面放任何类型。

创建一个List是这样List<string> list = new List<string>();

如果有一个学生类型,那么可以这样List<学生> list ;

如果用中文表示,可以这样声明 列表<学生>list,

去掉符号就是 学生列表list

“学生列表”这是符合自然语言的偏正短语。

这样就证明了自然语言是支持泛型。最大的不同是类型名称和占位类型的前后位置不同,在程序设计语言是列表<学生>,在自然语言中是学生列表。

自然语言也支持两个泛型参数的泛型类。

比如Dictionary,根据它的功能用准确点的称呼“键值表”。比如声明一个Dictionary<姓名,学生>,就是声明一个姓名学生键值表。“姓名学生键值表”这也是符合汉语语法的短语。

所以自然语言是支持程序设计语言中的泛型的。
 
重要说明~
 
泛型,一般指编译期间,由编译器去认知的类型识别。注意两个词:时间点--“编译期”,服务目标--“编译器”。编译器干完活后,出来的就是精准而无冗余的代码

另一种叫“运行时”识别,消耗一定的内存空间,来存放和记录类型属性,这种一般不叫泛型。比如 Go 的 interface 可认为就是这种。 查看全部
什么是泛型?


“泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。”


 什么是自然语言?


“自然语言通常是指一种自然地随文化演化的语言。英语、汉语、日语为自然语言的例子,而世界语则为人造语言,即是一种由人蓄意为某些特定目的而创造的语言。 不过,有时所有人类使用的语言(包括上述自然地随文化演化的语言,以及人造语言) 都会被视为“自然”语言,以相对于如编程语言等为计算机而设的“人造”语言。这一种用法可见于自然语言处理一词中。自然语言是人类交流和思维的主要工具。 自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的。 ”



这是百度百科的解释,通俗地说我们日常交流使用的语言都是自然语言,比如汉语、英语、法语、藏语等等。
 
什么是程序设计语言?


“程序设计语言,programming language。用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号 串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记 号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。语用表示程序与使用者的关系。 ”


 泛型不是自然语言里的概念,那么它们之间有关系吗?泛型在自然语言里找到的出处吗?
 
有关系。因为泛型是面向对象里的概念,而面向对象是一种对现实世界理解和抽象的方法,自然语言也是对现实世界的一种理解,所以它们之间是有关系的。
 
比如这么一段程序,就实现了泛型。
class Test<T>
{
public T obj;
public Set(T t)
{
this.obj = t;
}
}

比如说C#里的List,它是一个泛型类,把它翻译成中文就是列表。

List<T> ;

T是占位类型。List就像是一个容器,可以向里面放任何类型。

创建一个List是这样List<string> list = new List<string>();

如果有一个学生类型,那么可以这样List<学生> list ;

如果用中文表示,可以这样声明 列表<学生>list,

去掉符号就是 学生列表list

“学生列表”这是符合自然语言的偏正短语。

这样就证明了自然语言是支持泛型。最大的不同是类型名称和占位类型的前后位置不同,在程序设计语言是列表<学生>,在自然语言中是学生列表。

自然语言也支持两个泛型参数的泛型类。

比如Dictionary,根据它的功能用准确点的称呼“键值表”。比如声明一个Dictionary<姓名,学生>,就是声明一个姓名学生键值表。“姓名学生键值表”这也是符合汉语语法的短语。

所以自然语言是支持程序设计语言中的泛型的。
 
重要说明~
 
泛型,一般指编译期间,由编译器去认知的类型识别。注意两个词:时间点--“编译期”,服务目标--“编译器”。编译器干完活后,出来的就是精准而无冗余的代码

另一种叫“运行时”识别,消耗一定的内存空间,来存放和记录类型属性,这种一般不叫泛型。比如 Go 的 interface 可认为就是这种。

#2020学习打卡##Go语言高级编程# Go语言中的函数闭包

GoLangzkbhj 发表了文章 • 0 个评论 • 63 次浏览 • 2020-06-09 16:54 • 来自相关话题

今天的学习内容是Go函数,这里面会涉及一个概念——闭包!复习一下~
 
闭包的概念

是可以包含自由(未绑定到特定对象)变量的代码块,这些变量不在这个代码块内或者任何全局上下文中定义,而是在定义代码块的环境中定义。要执行的代码块(由于自由变量包含在代码块中,所以这些自由变量以及它们引用的对象没有被释放)为自由变量提供绑定的计算环境(作用域)。

各种专业文献的闭包定义都非常抽象,我的理解是: 闭包就是能够读取其他函数内部变量的函数。

在javascript语言或者go中,只有函数内部的子函数才能读取局部变量,所以说,闭包可以简单理解成“定义在一个函数内部的函数“。

所以,在本质上,闭包是将函数内部和函数外部连接起来的桥梁。

闭包的价值 

闭包的价值在于可以作为函数对象或者匿名函数,对于类型系统而言,这意味着不仅要表示数据还要表示代码。支持闭包的多数语言都将函数作为第一级对象,就是说这些函数可以存储到变量中作为参数传递给其他函数,最重要的是能够被函数动态创建和返回。


闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中,不会在函数调用后被自动清除。

Go语言中的闭包同样也会引用到函数外的变量。闭包的实现确保只要闭包还被使用,那么被闭包引用的变量会一直存在。 
总结

闭包并不是一门编程语言不可缺少的功能,但闭包的表现形式一般是以匿名函数的方式出现,就象上面说到的,能够动态灵活的创建以及传递,体现出函数式编程的特点。所以在一些场合,我们就多了一种编码方式的选择,适当的使用闭包可以使得我们的代码简洁高效。

使用闭包的注意点

由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包
 下面用一个例子体现闭包
package main

import "fmt"
/*
李逵和武松的Study方法的逻辑是几乎一模一样的
然而为了分别保存两人的学习进度,需要开辟两个全局变量,函数内部的需要使用两条分支结构才能完成业务逻辑
如果是108将都来学习。。。
此时代码的可复用性很差
*/
var progress int
func Study(name string, hours int) ( int) {
fmt.Printf("%s学习了%d小时",name,hours)
progress += hours
return hours
}
func main081() {
progress := Study("黑旋风",5)
fmt.Printf("李逵的学习进度%d/10000",progress)
}

/*
使用闭包函数优化Study
每个人有不同的学习进度,将这个进度保存在【各自的闭包】中
*/
/*
闭包函数:返回函数的函数
闭包函数的好处:使用同一份内层函数的代码,创建出任意多个不同的函数对象,这些对象各自的状态都被保存在函数闭包(外层函数)中,各行其道,互不干扰
*/

func GetStudy(name string) func(int) int{
var progress int
study := func(hours int) int {
fmt.Printf("%s学习了%d小时\n", name ,hours)
progress += hours
return progress
}
return study
}

func main() {
studyFunc := GetStudy("李逵")
studyFunc(3)
studyFunc(5)
likuiProgress := studyFunc(2)
fmt.Printf("李逵的学习进度%d/10000\n",likuiProgress)
studyFunc1 := GetStudy("宋江")
studyFunc1(9)
studyFunc1(8)
songjiangProgress1 := studyFunc1(5)
fmt.Printf("宋江的学习进度%d/10000\n",songjiangProgress1)
}李逵学习了3小时
李逵学习了5小时
李逵学习了2小时
李逵的学习进度10/10000
宋江学习了9小时
宋江学习了8小时
宋江学习了5小时
宋江的学习进度22/10000
 
 
 
参考文档:
https://www.cnblogs.com/cxying93/p/6103375.html
https://www.cnblogs.com/hzhuxin/p/9199332.html
https://www.cnblogs.com/yunweiqiang/p/11796135.html
  查看全部
今天的学习内容是Go函数,这里面会涉及一个概念——闭包!复习一下~
 
闭包的概念


是可以包含自由(未绑定到特定对象)变量的代码块,这些变量不在这个代码块内或者任何全局上下文中定义,而是在定义代码块的环境中定义。要执行的代码块(由于自由变量包含在代码块中,所以这些自由变量以及它们引用的对象没有被释放)为自由变量提供绑定的计算环境(作用域)。


各种专业文献的闭包定义都非常抽象,我的理解是: 闭包就是能够读取其他函数内部变量的函数

在javascript语言或者go中,只有函数内部的子函数才能读取局部变量,所以说,闭包可以简单理解成“定义在一个函数内部的函数“。

所以,在本质上,闭包是将函数内部和函数外部连接起来的桥梁

闭包的价值 


闭包的价值在于可以作为函数对象或者匿名函数,对于类型系统而言,这意味着不仅要表示数据还要表示代码。支持闭包的多数语言都将函数作为第一级对象,就是说这些函数可以存储到变量中作为参数传递给其他函数,最重要的是能够被函数动态创建和返回



闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中,不会在函数调用后被自动清除。

Go语言中的闭包同样也会引用到函数外的变量。闭包的实现确保只要闭包还被使用,那么被闭包引用的变量会一直存在。 
总结

闭包并不是一门编程语言不可缺少的功能,但闭包的表现形式一般是以匿名函数的方式出现,就象上面说到的,能够动态灵活的创建以及传递,体现出函数式编程的特点。所以在一些场合,我们就多了一种编码方式的选择,适当的使用闭包可以使得我们的代码简洁高效

使用闭包的注意点

由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包
 下面用一个例子体现闭包
package main

import "fmt"
/*
李逵和武松的Study方法的逻辑是几乎一模一样的
然而为了分别保存两人的学习进度,需要开辟两个全局变量,函数内部的需要使用两条分支结构才能完成业务逻辑
如果是108将都来学习。。。
此时代码的可复用性很差
*/
var progress int
func Study(name string, hours int) ( int) {
fmt.Printf("%s学习了%d小时",name,hours)
progress += hours
return hours
}
func main081() {
progress := Study("黑旋风",5)
fmt.Printf("李逵的学习进度%d/10000",progress)
}

/*
使用闭包函数优化Study
每个人有不同的学习进度,将这个进度保存在【各自的闭包】中
*/
/*
闭包函数:返回函数的函数
闭包函数的好处:使用同一份内层函数的代码,创建出任意多个不同的函数对象,这些对象各自的状态都被保存在函数闭包(外层函数)中,各行其道,互不干扰
*/

func GetStudy(name string) func(int) int{
var progress int
study := func(hours int) int {
fmt.Printf("%s学习了%d小时\n", name ,hours)
progress += hours
return progress
}
return study
}

func main() {
studyFunc := GetStudy("李逵")
studyFunc(3)
studyFunc(5)
likuiProgress := studyFunc(2)
fmt.Printf("李逵的学习进度%d/10000\n",likuiProgress)
studyFunc1 := GetStudy("宋江")
studyFunc1(9)
studyFunc1(8)
songjiangProgress1 := studyFunc1(5)
fmt.Printf("宋江的学习进度%d/10000\n",songjiangProgress1)
}
李逵学习了3小时
李逵学习了5小时
李逵学习了2小时
李逵的学习进度10/10000
宋江学习了9小时
宋江学习了8小时
宋江学习了5小时
宋江的学习进度22/10000

 
 
 
参考文档:
https://www.cnblogs.com/cxying93/p/6103375.html
https://www.cnblogs.com/hzhuxin/p/9199332.html
https://www.cnblogs.com/yunweiqiang/p/11796135.html
 

我的阅读分享:《梦幻花》

读后感zkbhj 发表了文章 • 0 个评论 • 71 次浏览 • 2020-06-05 13:13 • 来自相关话题

阅读书目:《梦幻花》
作者:东野圭吾 著
书籍类型:侦探推理小说
页数:320页
阅读开始时间:2020年6月5日
阅读结束时间:2020年6月9日00:50:59
如何发现这本书:东野书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:每个人都有一生注定要坚持和守护的东西!确实没有在开头猜出谁是凶手,结尾的升华很棒,给人以反思和教育。
豆瓣地址:https://book.douban.com/subject/33427878/






  查看全部


阅读书目:《梦幻花》
作者:东野圭吾 著
书籍类型:侦探推理小说
页数:320页
阅读开始时间:2020年6月5日
阅读结束时间:2020年6月9日00:50:59
如何发现这本书:东野书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:每个人都有一生注定要坚持和守护的东西!确实没有在开头猜出谁是凶手,结尾的升华很棒,给人以反思和教育。
豆瓣地址:https://book.douban.com/subject/33427878/



4c896d29a339d64b.jpg

 

我的阅读分享:《永久记录》

读后感zkbhj 发表了文章 • 0 个评论 • 58 次浏览 • 2020-06-04 14:53 • 来自相关话题

阅读书目:《永久记录》
作者:[美] 爱德华·斯诺登 著,萧美惠 郑胜得 译
书籍类型:自传&纪实
页数:320页
阅读开始时间:2020年5月31日
阅读结束时间:阅读中
如何发现这本书:在中信书店(北京启皓店)发现的一本书
阅读次数:第1次
阅读类型:泛读 -- >精读
推荐等级:★★★★
阅读建议:本打算是想要泛读一下这本书的,但是在书店看了三分之一书之后,被内容所吸引了。回来就在京东上买了一本,打算仔细阅读一下。不仅仅是因为自己也是从事这方面工作的原因(当然不是情报机构,只是一个普通的码农),但是计算机对我们生活产生的深刻影响,是从小一直经历过来的,可以说斯诺登的经历,也是我自己的经历(某些方面),有些地方甚至会引起共鸣。另外一个原因是,这本书想要揭露的内容,也非常吸引我想要继续去深入的了解。尤其是最近疫情以来,中美关系的未来越发的扑朔迷离,也加剧了这种吸引力。读完之后,再完善阅读体验。
豆瓣地址:https://book.douban.com/subject/34862375/






  查看全部


阅读书目:《永久记录》
作者:[美] 爱德华·斯诺登 著,萧美惠 郑胜得 译
书籍类型:自传&纪实
页数:320页
阅读开始时间:2020年5月31日
阅读结束时间:阅读中
如何发现这本书:在中信书店(北京启皓店)发现的一本书
阅读次数:第1次
阅读类型:泛读 -- >精读
推荐等级:★★★★
阅读建议:本打算是想要泛读一下这本书的,但是在书店看了三分之一书之后,被内容所吸引了。回来就在京东上买了一本,打算仔细阅读一下。不仅仅是因为自己也是从事这方面工作的原因(当然不是情报机构,只是一个普通的码农),但是计算机对我们生活产生的深刻影响,是从小一直经历过来的,可以说斯诺登的经历,也是我自己的经历(某些方面),有些地方甚至会引起共鸣。另外一个原因是,这本书想要揭露的内容,也非常吸引我想要继续去深入的了解。尤其是最近疫情以来,中美关系的未来越发的扑朔迷离,也加剧了这种吸引力。读完之后,再完善阅读体验。
豆瓣地址:https://book.douban.com/subject/34862375/



12bcdd00ed88c970.jpg

 

我的阅读分享:《C语言程序设计(第2版)》

读后感zkbhj 发表了文章 • 0 个评论 • 65 次浏览 • 2020-06-04 14:47 • 来自相关话题

阅读书目:《C语言程序设计(第2版)》
作者:[美] 布莱恩·W.克尼汉(Brian W.Kernighan),[美] 丹尼斯·M.里奇(Dennis M.Ritchie) 编,徐宝文,李志 译
书籍类型:编程开发
页数:258页
阅读开始时间:2020年4月2日
阅读结束时间:2020年5月31日
如何发现这本书:自如·互联网研发部·搜索推荐研发组 放学别走2020第一期学习科目
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:经过2个月的坚持打卡,每天下班1个到2个小时的学习交流,完成了C语言的全面系统的学习和练习。这本书虽然是C语言届类似圣经版存在的书籍,但是为什么没有给出4星推荐,理由很简单,这本书还是有些过时了,8几年的内容在现在来开,有些确实已经不够现代。还有就是这个翻译,真的是,问题太多了,很多内容可能真的需要看英文原版来对比学习,才能真正体会他要表达的含义。没办法,并没有找到比这本更好的学习C语言的教材范本,如果你有好的书,欢迎推荐给我,一起学习交流。

 





  查看全部


阅读书目:《C语言程序设计(第2版)》
作者:[美] 布莱恩·W.克尼汉(Brian W.Kernighan),[美] 丹尼斯·M.里奇(Dennis M.Ritchie) 编,徐宝文,李志 译
书籍类型:编程开发
页数:258页
阅读开始时间:2020年4月2日
阅读结束时间:2020年5月31日
如何发现这本书:自如·互联网研发部·搜索推荐研发组 放学别走2020第一期学习科目
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:经过2个月的坚持打卡,每天下班1个到2个小时的学习交流,完成了C语言的全面系统的学习和练习。这本书虽然是C语言届类似圣经版存在的书籍,但是为什么没有给出4星推荐,理由很简单,这本书还是有些过时了,8几年的内容在现在来开,有些确实已经不够现代。还有就是这个翻译,真的是,问题太多了,很多内容可能真的需要看英文原版来对比学习,才能真正体会他要表达的含义。没办法,并没有找到比这本更好的学习C语言的教材范本,如果你有好的书,欢迎推荐给我,一起学习交流。


 

9ceff26db3a586c1.jpg

 

我的阅读分享:《佩德罗·巴拉莫》

读后感zkbhj 发表了文章 • 0 个评论 • 58 次浏览 • 2020-06-04 14:30 • 来自相关话题

阅读书目:《佩德罗·巴拉莫》
作者:[墨西哥] 胡安.鲁尔福 著,屠孟超 译
书籍类型:魔幻现实主义小说
页数:177页
阅读开始时间:2020年6月3日
阅读结束时间:2020年6月4日14:41:02
如何发现这本书:2019年豆瓣书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:说实话,这是我第一次读这本小说,给我的第一感觉是。混乱,零碎,不知所云,穿越,模糊~ 你能够想到的一些“读不懂”的关键词,都能用来形容我第一次读完这本小说的感受。作为“魔幻现实主义小说的开山之作”,我觉得是我的阅读水平和理解能力还没有达到那个水平,所以才会有这种感觉。不可否认,这本小说出现了现代小说手法中的绝大多数,时间概念、生死概念,在这本书里已经完全被模糊掉,整个故事感觉就像是“死人之间的交流”,你不知道说出这些独白、提出这些想法的到底是活人还是死人。希望以后再次阅读这本书时能有不一样的感受,那应该就是“成长”的样子了。
豆瓣地址:https://book.douban.com/subject/26877595/






  查看全部


阅读书目:《佩德罗·巴拉莫》
作者:[墨西哥] 胡安.鲁尔福 著,屠孟超 译
书籍类型:魔幻现实主义小说
页数:177页
阅读开始时间:2020年6月3日
阅读结束时间:2020年6月4日14:41:02
如何发现这本书:2019年豆瓣书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:说实话,这是我第一次读这本小说,给我的第一感觉是。混乱,零碎,不知所云,穿越,模糊~ 你能够想到的一些“读不懂”的关键词,都能用来形容我第一次读完这本小说的感受。作为“魔幻现实主义小说的开山之作”,我觉得是我的阅读水平和理解能力还没有达到那个水平,所以才会有这种感觉。不可否认,这本小说出现了现代小说手法中的绝大多数,时间概念、生死概念,在这本书里已经完全被模糊掉,整个故事感觉就像是“死人之间的交流”,你不知道说出这些独白、提出这些想法的到底是活人还是死人。希望以后再次阅读这本书时能有不一样的感受,那应该就是“成长”的样子了。
豆瓣地址:https://book.douban.com/subject/26877595/



5a055155N29ae0573.jpg

 

我的阅读分享:《喜鹊谋杀案》

读后感zkbhj 发表了文章 • 0 个评论 • 72 次浏览 • 2020-06-04 14:24 • 来自相关话题

阅读书目:《喜鹊谋杀案》
作者:[英] 安东尼˙霍洛维茨 著,梁清新 译
书籍类型:侦探推理小说
页数:508页
阅读开始时间:2020年5月28日
阅读结束时间:2020年6月3日01:20:02
如何发现这本书:2019年豆瓣书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★★
阅读建议:如果你是一个侦探推理小说的小说迷,那么这本书觉得值得你一读!和其他类型的侦探小说的写作手法完全不同,这本案中案,小说中的小说,会给你完全耳目一新的感觉和体验。一句话“写侦探小说的人杀死了侦探!”,这一句话,就足够吊起你的胃口~~
豆瓣地址:https://book.douban.com/subject/33445034/






  查看全部


阅读书目:《喜鹊谋杀案》
作者:[英] 安东尼˙霍洛维茨 著,梁清新 译
书籍类型:侦探推理小说
页数:508页
阅读开始时间:2020年5月28日
阅读结束时间:2020年6月3日01:20:02
如何发现这本书:2019年豆瓣书单
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★★
阅读建议:如果你是一个侦探推理小说的小说迷,那么这本书觉得值得你一读!和其他类型的侦探小说的写作手法完全不同,这本案中案,小说中的小说,会给你完全耳目一新的感觉和体验。一句话“写侦探小说的人杀死了侦探!”,这一句话,就足够吊起你的胃口~~
豆瓣地址:https://book.douban.com/subject/33445034/



024baff7f9d280aa.jpg

 

#阅读2020#2020年第3季度读书计划

读书计划zkbhj 发表了文章 • 0 个评论 • 100 次浏览 • 2020-05-29 15:27 • 来自相关话题

2020年第3季度读书计划

时间跨度:7、8、9三个月

第3季度精读书目表(总)
《Flutter:从0到1构建大前端应用》何瑞君 (技术:技能提升)《Go语言高级编程》柴树衫、曹春辉(技术:技能提升)《Dart编程语言》[美]Gilad Bracha(技术:技能提升)《贫穷的本质》阿比吉特·巴纳吉 著(技能:经济&思维提升)《八百万种死法》[美] 劳伦斯·布洛克,[Lawrence,Block] 著(小说:悬疑推理)《霍乱时期的爱情》[哥伦比亚] 加西亚•马尔克斯 著(小说:爱情经典)《S. 忒修斯之船 (简体中文典藏复刻版)》[美] J·J·艾布拉姆斯,[美] 道格·道斯特 著,颜湘如 译(小说:悬疑推理)《从一到无穷大:科学中的事实与猜想》乔治·伽莫夫 著(科普经典)《挪威的森林》[日] 村上春树 著(小说:爱情经典)《一年顶十年》剽悍一只猫 著(技能:自我管理)《次第花开》希阿荣博堪布著 著(文化:藏人精神保持愉悦的秘密)《我的前半生》爱新觉罗·溥仪 著(历史:历史人物) 
 
 
 
第3季度粗读书目表(总)  查看全部
2020年第3季度读书计划

时间跨度:7、8、9三个月

第3季度精读书目表(总)
  1. 《Flutter:从0到1构建大前端应用》何瑞君 (技术:技能提升)
  2. 《Go语言高级编程》柴树衫、曹春辉(技术:技能提升)
  3. 《Dart编程语言》[美]Gilad Bracha(技术:技能提升)
  4. 《贫穷的本质》阿比吉特·巴纳吉 著(技能:经济&思维提升)
  5. 《八百万种死法》[美] 劳伦斯·布洛克,[Lawrence,Block] 著(小说:悬疑推理)
  6. 《霍乱时期的爱情》[哥伦比亚] 加西亚•马尔克斯 著(小说:爱情经典)
  7. 《S. 忒修斯之船 (简体中文典藏复刻版)》[美] J·J·艾布拉姆斯,[美] 道格·道斯特 著,颜湘如 译(小说:悬疑推理)
  8. 《从一到无穷大:科学中的事实与猜想》乔治·伽莫夫 著(科普经典)
  9. 《挪威的森林》[日] 村上春树 著(小说:爱情经典)
  10. 《一年顶十年》剽悍一只猫 著(技能:自我管理)
  11. 《次第花开》希阿荣博堪布著 著(文化:藏人精神保持愉悦的秘密)
  12. 《我的前半生》爱新觉罗·溥仪 著(历史:历史人物)
  13.  

 
 
 
第3季度粗读书目表(总) 

我的阅读分享:《Go Web编程》

读后感zkbhj 发表了文章 • 0 个评论 • 92 次浏览 • 2020-05-14 16:42 • 来自相关话题

阅读书目:《Go Web编程》
作者:[新加坡] 郑兆雄(Sau,Sheong,Chang) 著,黄健宏 译
书籍类型:编程
页数:289页
阅读开始时间:2020年5月14日
阅读结束时间:2020年5月25日19:57:02
如何发现这本书:因为工作中技术栈从PHP逐步转为Golang,所以开始学习Go相关的编程知识
阅读次数:第1次
阅读类型:精读
推荐等级:★★★
阅读建议:本书更加偏重于从纯Go语言的角度(未使用框架)讲解如何实现Web服务(有模板),可以作为入门goweb编程的经验书籍阅读。建议入门阅读,不建议进阶阅读。书中所讲内容较基础,没有涉及更高层级的技术和经验。
豆瓣地址:https://book.douban.com/subject/27204133/






  查看全部


阅读书目:《Go Web编程》
作者:[新加坡] 郑兆雄(Sau,Sheong,Chang) 著,黄健宏 译
书籍类型:编程
页数:289页
阅读开始时间:2020年5月14日
阅读结束时间:2020年5月25日19:57:02
如何发现这本书:因为工作中技术栈从PHP逐步转为Golang,所以开始学习Go相关的编程知识
阅读次数:第1次
阅读类型:精读
推荐等级:★★★
阅读建议:本书更加偏重于从纯Go语言的角度(未使用框架)讲解如何实现Web服务(有模板),可以作为入门goweb编程的经验书籍阅读。建议入门阅读,不建议进阶阅读。书中所讲内容较基础,没有涉及更高层级的技术和经验。
豆瓣地址:https://book.douban.com/subject/27204133/



5a260f1fNc0d7d794.jpg

 

我的阅读分享:《经济学的思维方式》

读后感zkbhj 发表了文章 • 0 个评论 • 114 次浏览 • 2020-05-12 09:59 • 来自相关话题

阅读书目:《经济学的思维方式》
作者:[美] 托马斯.索维尔
书籍类型:经济
页数:603页
阅读开始时间:2020年5月12日
阅读结束时间:阅读中
如何发现这本书:在西西弗书店看到此书,美国再大的书店,“经济学”架都很窄,但再窄都放了此书。思维更深入,人生更宽广。在每个关键的时刻,做出正确的选择!
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:






  查看全部


阅读书目:《经济学的思维方式》
作者:[美] 托马斯.索维尔
书籍类型:经济
页数:603页
阅读开始时间:2020年5月12日
阅读结束时间:阅读中
如何发现这本书:在西西弗书店看到此书,美国再大的书店,“经济学”架都很窄,但再窄都放了此书。思维更深入,人生更宽广。在每个关键的时刻,做出正确的选择!
阅读次数:第1次
阅读类型:精读
推荐等级:★★★★
阅读建议:



5b4c7363N672194b4.jpg

 
 记录读书过程中学到的知识点和好的片段。