- 博客(64)
- 收藏
- 关注
原创 golang快速入门-17-golang的万能类型空接口interface{}和类型断言机制
golang的各种预置的变量类型int string等等都是实现了interface{}package mainimport "fmt"//interface{}是万能数据类型func myFunc(arg interface{}) { fmt.Println("myFunc is called...") fmt.Println(arg) //interf...
2021-03-18 01:53:00 411
原创 golang快速入门-16-golang的接口interface与多态
1 基类接口// 基类,接口type AnimalIF interface { Sleep() GetColor() string //获取动物的颜色 GetType() string //获取动物的种类}2 实现类-猫//具体的类type Cat struct { color string //猫的颜色}func (this *Cat)...
2021-03-18 01:42:00 239
原创 Linux下c/c++ 可以断点+单步调试多线程堆栈的开发工具的选型
2005左右,我从VC开发组转入linux c/c++开发组,见证了其他linux c/c++老同事因为gcc+gdb+文件log,调式多线程程序的时候的苦。作为唱过VC单步调试复杂多线程程序的甜头的我,自然不肯走他们的老路。于是我开始寻找新方法。对于Linux环境下C++的开发工具的选型,我花了整整2周去选择和体验。选型的动机是我很清楚VC6.0对于调试多线程的方便程度。于是选型的路径如...
2021-03-18 01:09:00 264
原创 golang快速入门-15-golang的类的继承-用设计模式中的组合模式实现
golang的继承的实现机制,并没有使用extend关键字,而是使用了设计模式中推荐的组合模式。从一系列的机制来看,golang的设计原则貌似是保持尽量少的关键字,于是我们程序员就不得不用struct+外部函数的方式实现类,不得不用组合模式显式的实现继承机制。基类:type Human struct { name string sex string}func (t...
2021-03-18 01:01:00 136
原创 golang语言的对关键字的设计原则--能够用标准c实现的机制,绝不给标准c增加新的关键字。如类的声明,继承,共有私有等等,都是使用非关键字的方式实现。...
golang的设计原则是尽量减少关键字,因此,没有class,用结构体实现类,用标准c的方法或者c++编译器的方法,使用this参数和外部函数实现类方法。没有extend,用组合式设计模式实现继承没有private,public,用大小写表示是否允许外部访问。从语言简洁度的角度来说,这个思路真是美丽。...
2021-03-18 00:50:00 58
原创 golang快速入门-14-golang的类-基于结构体实现
现在版本的golang中没有class关键字。golang沿用了标准c对类的模拟,或者c++编译器中对OOP的实现:基于结构体struct实现了类的机制。package mainimport "fmt"//如果类名首字母大写,表示其他包也能够访问type Hero struct { //如果说类的属性首字母大写, 表示该属性是对外能够访问的,否则的话只能够类的内部访问 ...
2021-03-18 00:34:00 405
原创 golang快速入门-13-golang的结构体struct
与c/c++一样//type 关键字可以定义类型的别名 type myint int//type 关键字可以定义一个结构体type Book struct { title string auth string}// 传值func changeBook(book Book) { //传递一个book的副本 book.auth = "666"...
2021-03-18 00:11:00 89
原创 golang快速入门-12-golang的Map使用
1 package main 2 3 import "fmt" 4 5 func printMap(cityMap map[string]string) { 6 //cityMap 是一个引用传递 7 for key, value := range cityMap { 8 fmt.Println("key = ", key) 9 ...
2021-03-17 19:55:00 83
原创 golang快速入门-11-golang的Map的声明方式
//===> 第一种声明方式 //key是string, value是string var myMap1 map[string]string //在使用map前, 需要先用make给map分配数据空间 myMap1 = make(map[string]string, 10) myMap1["one"] = "java" myMap1["...
2021-03-17 19:45:00 115
原创 golang快速入门-10-golang的动态数组slice的追加,截取与拷贝
(1) 追加 // 容量为5,但合法元素数为3 var numbers = make([]int, 3, 5) fmt.Printf("len = %d, cap = %d, slice = %v\n", len(numbers), cap(numbers), numbers) //向numbers切片追加一个元素1,numberslen=4,[...
2021-03-17 19:44:00 734
原创 golang快速入门-09-golang的动态数组slice的内存申请
// 只声明了指针,并没有分配内存var slice1 []int// 申请三个元素的内存slice1 = make([]int, 3) if slice1 == nil { fmt.Println("slice1 是一个空切片") } else { fmt.Println("slice1 是有空间的") }...
2021-03-17 19:41:00 318
原创 golang快速入门-08-golang的数组与动态数组slice
(1) 固定大小数组 1 package main 2 import "fmt" 3 4 //值拷贝 5 func printArray(myArray [4] int) { 6 7 8 for index, value := range myArray { 9 fmt.Println("index = ", index, ", va...
2021-03-17 19:39:00 349
原创 golang快速入门-07-golang的defer
package mainimport "fmt"func main() { //写入defer关键字 defer fmt.Println("main end1")defer fmt.Println("main end2") fmt.Println("main::hello go 1") fmt.Println("main::hello go 2")...
2021-03-17 19:37:00 45
原创 golang快速入门-04-golang的多返回值
(1) 单返回值 1 func foo1(a string, b int) int { 2 3 fmt.Println("a = ", a) 4 fmt.Println("b = ", b) 6 9 c := 10010 return c12 13 }(2) 匿名多返回值func foo2(a string, b int)...
2021-03-17 13:37:00 206
原创 golang快速入门-03-golang的常量和iota
0 constlengthint=10 1 //const 来定义枚举类型 2 const ( 3 //可以在const() 添加一个关键字 iota, 每行的iota都会累加1, 第一行的iota的默认值是0 4 BEIJING = iota //iota = 0 5 SHANGHAI //iota = 1 6 ...
2021-03-17 13:34:00 80
原创 golang快速入门-02-golang的变量类型
1 var b int = 100 2 3 // 可以不指定类型,编译器根据值推断类型 4 var c = 100 5 6 fmt.Println("c = ", c) 7 fmt.Printf("type of c = %T\n", c) 8 fmt.Println("c = ", c, ",b = ",b) 9 10 ...
2021-03-17 13:33:00 56
原创 golang快速入门-01-golang之HelloWorld
编译和构建go build test.go运行go run test.go1 package main2 import "fmt"3 func main() 4 {5 fmt.Println(“HelloWorld”);6 }
2021-03-17 13:32:00 98
原创 golang快速入门-00-golang特点和vscode开发环境的配置
一 索引二 特性三 安装在vscode中新建go文件,vscode会自动安装提示进行go插件的安装1 vscode以管理员权限启动2 解决插件安装失败的问题VScode中安装Go插件,由于墙的原因很可能会出现如下提示Installing github.com/mdempsky/gocode FAILEDInstalling github.com/uudashr/gopkg...
2021-03-17 00:45:00 90
原创 技术路线还是管理路线的思考
在软件行业或者互联网行业,很多程序员都是因为编码厉害而被提拔成管理岗位。在传统行业的很多公司,具有成熟的培训机制和领导意识,可以帮助最初走向管理岗位的员工如何产生管理意识。但是这个软件行业或者互联网行业,很多公司并没有这样成熟的机制,并不会对新人组长提供管理培训。这本身就是这个行业重技术轻管理的表现。那些不主动系统学习管理能力的程序员,被提拔到管理岗位之后,往往意味着痛苦的到来。身边和媒体...
2021-03-17 00:39:00 205
原创 PMP项目管理证书(2016年06月)
在软件行业或者互联网行业,很多程序员都是因为编码厉害而被提拔成管理岗位。在传统行业的很多公司,具有成熟的培训机制和领导意识,可以帮助最初走向管理岗位的程序员如何产生管理意识。但是这个软件行业或者互联网行业,很多公司并没有这样成熟的机制,并不会对新人组长提供管理培训。这本身就是这个行业重技术轻管理的表现。那些不主动系统学习管理能力的程序员,被提拔到管理岗位之后,往往意味着痛苦的到来。身边和媒...
2021-03-16 23:59:00 158
原创 中科院心理咨询师基础培训合格证书(2019年07月)
我认为心理学是大部分社会科学特别是管理学的原理,所以我在入学MBA之前,花了三个月,系统学习了心理学。在MBA的学习经历中,特别是组织行为学,管理沟通和行为金融学的学习中,心理学的培训过程中对于人类的底层逻辑的解析的学习,基础起到了很大的作用。现在的人工智能依然是人工的,可能以后的强人工智能的突破口是心理学博士的一篇对人类的认知的一篇论文。...
2021-03-16 23:43:00 1259
原创 商业模式-名词解释10
一 不同类型公司的商业模式设计 1 三种业务模式 基础管理型业务 产品创新型业务 贸易和客户关系型业务 2 三种战略 运营管理领先战略 产品领先战略 客户关系领先战略 3 商业模式九要素...
2021-03-16 23:32:00 1396
原创 项目管理工具的选型(jira,teambition,worktitle,tower,trello,云效,禅道)和禅道的基本介绍...
2015年的时候,下属超过5人以上。于是我开始寻找合适的项目管理工具。当时花了2周时间,从市面上试用了各种各样的项目管理工具,jira,teambition,worktitle,tower,trello,甚至是桌面版的项目管理工具,全都挨个进行的全流程的使用。后来也使用了其他的工具如云效中的项目管理功能等。最终选定了禅道这套系统。原因是,禅道内置的管理流程和管理思想,如预置角色设置,预置的权...
2021-03-16 18:33:00 3136 1
原创 大数据技术连载-04-2-大数据的管理-分布式数据库Hbase的JavaApi
1 创建表 create ‘表名’,’列族名称1’, ’列族名称2’, ’列族名称3’,2 向一个单元格赋值 put ’表名’,’行键’,’列族名称1:列名’,’值’3 获得单元格的值 get ’表名’,‘行键’,{COLUMN=>’列族名称1:列名’}4 禁用和删除enable ’表名’disable ’表名’drop ’表名’...
2021-03-15 23:26:00 177
原创 大数据技术连载-04-1-大数据的管理-分布式数据库Hbase的原理
04-HBase(分布式数据库)-01-简介Java开发HDFS 文件系统fs,以64M为块进行存储管理。其逻辑概念是文件file.其接口是read,write.HBase 是数据库管理系统dbms,同类产品是mysql,mondb,redis等。其逻辑概念是库,表,行,列。面向列,有利于水平扩展。BigTableHBase文件存...
2021-03-05 12:15:00 255
原创 大数据技术连载-03-2-大数据的存储-Hadoop的HDFS的读写-JavaApi
读数据 import java.io.BufferedReader; import java.io.InputStreamReader; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; im...
2021-02-26 19:27:00 175
原创 大数据技术连载-03-1-大数据的存储-分布式文件系统Hadoop的HDFS的原理
03-HDFS-01-模块结构hadoop的存储方式,有点像scci硬盘,坏一个节点无所谓。随时插拔增减。1.0 版本里,计算和资源调度在一个模块里。2.0版本里: 资源调度YARN,独立成一个模块。MapReduce是YARN支持的第一个计算框架,是批处理硬盘计算框架。除此之外,还支持批处理内存计算的Spark和流式计算的Storm。 另外,HDFS也进...
2021-02-25 20:12:00 197
原创 大数据技术连载-02-Hadoop的历史,架构,版本,生态,安装
02-Hadoop-01-简介 Java开发1. 历史 hadoop从nutch而来,nutch又是从lucene而来。 lucene--->nutch搜索引擎---->hadoop文本搜索库 2002年,nutch无法存储海量网页 2003.google.gfs论文-------->2004.nu...
2021-02-15 11:51:00 154
原创 大数据技术连载-01-大数据的发展历史和概述
1 三次信息化浪潮 信息化浪潮发生时间标志解决问题代表企业第一次浪潮1980年前后个人计算机信息处理Intel、AMD、IBM、苹果、微软、联想、戴尔、惠普等第二次浪潮1995年前后互联网信息传输雅虎、谷歌、阿里巴巴、百度、腾讯等第三次浪潮2010年前后物联网、云计...
2021-02-11 21:10:00 464
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人