摘要:
一、问题的起因 今天用公司电脑在github上push时出现了以下问题: 用户名为unknown; 贡献记录为0; 二、解决方案 1,检查一遍自己的账号密码是否正确,如果正确,执行第二步骤操作; 2,,忽略SSL 问题解决了! 阅读全文
摘要:
给出的一些常见的数据结构与算法的笔试面试题,特整理如下,后期遇到新的再更新。 笔试面试题 常见时空复杂度有 常数级复杂度:O(1) 对数级复杂度:O(logN) 线性级复杂度:O(N) 线性对数级复杂度:O(NlogN) 平方级复杂度:O(N2) 冒泡排序算法(重点) (1)算法流程 a.比较两个相 阅读全文
摘要:
给出的一些常见的计算机网络笔试面试题,特整理如下,后期遇到新的再更新 笔试面试题 TCP首部格式 UDP首部格式 首部字段只有 8 个字节,包括源端口、目的端口、长度、检验和。12 字节的伪首部是为了计算检验和临时添加的。 TCP/UDP特点/区别: 用户数据报协议 UDP(User Datagra 阅读全文
摘要:
朋友给出的一些常见的C++面试题,特整理如下,后期遇到新的再更新。 面试题 列举并解释C++中的四种运算符转化,说明它们的不同点: static_cast: 在功能上基本上与C风格的类型转换一样强大,含义也一样。它也有功能上限制。例如,你不能用static_cast象用C风格的类型转换一样把stru 阅读全文
摘要:
环境:windows + git bash。 一、问题来源 由于之前用Goland建立Golang工程时,生成了.idea文件,不小心上传至Github: 所以尝试用.gitignore进行忽略不上传。 二、步骤 1,在本地新建一个.gitignore文件 2,在vi环境下选择插入模式,写入/.id 阅读全文
摘要:
由于在写游戏服逻辑时踩了一些坑,在此记录如下 Github地址 一、理论知识储备 服务端属于后端开发,因此比较注重底层架构。 把《深入理解计算机系统》好好看看,以后做开发接触到越底层的东西这个就越有用,知其然并知其所以然,这样提升空间会很大,也很快; 把《UNIX网络编程卷一二》好好看看,因为涉及通 阅读全文
摘要:
注:本文内容已更新至ARTS-Share栏。 这周服务器主程安排给了我一个任务(其实是我在用Go做完了一些小demo后,向主程请示下一步的安排),让我将他用Lua语言写的球球大作战的服务端代码转成Go语言形式。 于是,我开搞了! 此内容以上传至github,感兴趣的可以看一下github地址 框架主 阅读全文
摘要:
之前在做注册登录服务器逻辑时,遇到的一些要点难点,记录于此。 一、基础必备技能 1,掌握至少一门用于后端开发的编程语言,如C/C++、Java、Go等; 2,理解TCP/UDP的机制,Socket编程,分包粘包实现的原理; 3,Protobuf协议,RPC协议; 4,数据库操作,例如MySQL,Re 阅读全文
摘要:
软件环境:Goland Github地址 一、目的 之前用纯逻辑垒完了一个可登入登出的在线多人聊天室(代码仓库地址),这次学习了Protobuf协议,于是想试着更新下聊天室的版本。 主要目的是为了掌握Protobuf的使用。 二、设计思路 通过Protobuf中内置好的编码函数,将要发送的数据进行编 阅读全文
摘要:
最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork。 软件环境:Goland、Navicat for MySQL。 一、实现思路 1,我的总体设计思路是先写出连接数据库和关闭数据库的逻辑,再建立四 阅读全文
摘要:
本文整理了网络/游戏/编程相关的专业术语,作为游戏开发中的辅助参考资料,后期如果遇到其他的术语还会更新。 16毫秒 / 帧速率 Frame Rate。 电子游戏使用的光栅显示器是普通电视时,图像一般每秒更新60次。图像更新的时间叫做帧,1秒60次即1次16毫秒(0.0167秒 = 16.7毫秒)。 阅读全文
摘要:
本文内容源自腾讯游戏学院程序公开课_服务器第四节 一、数据存储基础 什么是数据存储? 运行数据保存到硬盘上形成持久化数据。 data——>file(database)——>file system——>hard driver 数据变为文件,存入文件系统,文件系统通过OS这一层落到硬盘上面。 数据库 - 阅读全文
摘要:
代码仓库地址 一、介绍 Protobuf是Google旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式。所以很适合用做数据存储和作为不同应用,不同语言之间相互通信的数据交换格式,只要实现相同的协议格式即同一proto文件被编译成不同的语言版本,加入到各自的工程中去,这样不同语言就可以解析其他 阅读全文
摘要:
本文共34道题目 一、判断题 此题考查编码规范。 反射最常见的使用场景是做对象的序列化(serialization,有时候也叫Marshal & Unmarshal)。 例如:Go语言标准库的encoding/json、encoding/xml、encoding/gob、encoding/binar 阅读全文
摘要:
声明:本文内容源自腾讯游戏学院程序公开课_服务端 一、数据表示的基础 什么是数据表示? 数据是信息的载体。 数据表示是一组操作,可以描述、显示、操作信息。 数据表示的要素 IDL - 接口描述语言 IDL是用来描述软件组件接口的一种计算机语言。IDL通过一种中立的方式来描述接口,使得在不同平台上运行 阅读全文
摘要:
一、判断题 defer应该在if后面,如果文件为空,close会崩溃。 数组是值类型,也是按值传递的;切片slide是引用类型。 import后面跟的是包的路径,而不是包名; 同一个目录下可以有多个.go文件,但是只能有一个包; 使用第三方库时,先将源码编译成.a文件放到临时目录下,然后去链接这个. 阅读全文
摘要:
题目来源于牛客网 一、判断题 成员变量或者函数的首字母表示是否对外部可见。 switch后面的声明语句和表达式语句都是可以选择的。例如: 错误指的是可能出现问题的地方出现了问题,比如打开一个文件时失败,这种情况在人们的意料之中;而异常指的是不应该出现问题的地方出现了问题,比如引用了空指针,这种情况在 阅读全文
摘要:
声明:本文内容源自腾讯游戏学院程序公开课_服务器第二节 一、服务器架构概念解析 1,什么是“服务器架构” 对服务器软件&硬件&运行的一体化规划 框架结构:分层分块。 构建技术选择:编程语言;通信方式;存储技术。 运行质量:运行环境;部署工具方法;更新方案。 二、案例讲解:分布式服务架构设计演讲——M 阅读全文
摘要:
题目来源于牛客网 一、选择题 Go语言自带垃圾回收机制。 如果是值传递的话子函数对map修改不会影响父函数中的map,如果是地址传递则会影响。 go语言编译器会自动在以标识符、数字字面量、字母字面量、字符串字面量、特定的关键字(break、continue、fallthrough和return)、增 阅读全文
摘要:
一、目的 运用Go语言中的goroutine和通道实现一个简单的一个服务器端对多个客户端的在线聊天 软件环境:Goland,Go1.9 代码仓库链接 二、设计思路 与一对一的设计思路类似,就是加了个线程的操作。 1,服务器端声明一个map,并打开监听端口; 2,客户端打开监听端口,同时连入服务器端; 阅读全文
摘要:
一、目的 使用Go语言实现一个服务器端与客户端的聊天室。 软件:Goland,Go1.9 代码仓库地址 二、思路 1,首先启动服务器端,使用listen_socket函数监听IP地址上的客户端连接; 2,启动客户端,并向服务器端发送数据,发送结束后端口阻塞,等待服务器端的消息; 3,服务器端接收到由 阅读全文
摘要:
注:题目来源均出自牛客网。 一、选择题 Map(集合)属于Go的内置类型,不需要引入其它库即可使用。 Go-Map_菜鸟教程 在函数声明中,返回的参数要么都有变量名,要么都没有。 C选项函数声明语法有错误,error是返回类型,但没有返回名。 go语言中字符串是UTF-8编码并存储的,它语言不定长的 阅读全文
摘要:
一、48小时游戏开发前期准备 1,策划 明确美术队友和程序队友的水平,提需求的过程中尝试做减法,在保留核心玩法的基础上,看队友水平和时间判断是否添加需求。 策划是整个游戏团队的灵魂,也是开发的上限所在。 2,美术 前期可以准备一套美术资源,到比赛前期可以尝试套用。 3,程序 评估这次比赛所需要用到的 阅读全文
摘要:
声明:题目源自牛客网。 一、单项选择题 解析:作为形参时,可以要求单向,只读或只写。 解析:Go语言的内存回收机制规定,只要有一个指针指向引用一个变量,那么这个变量就不会被释放(内存逃逸),因此在Go语言中返回函数参数或临时变量是安全的。 Golang 垃圾回收剖析 Go 内存逃逸详细分析 解析:G 阅读全文
摘要:
一、介绍 iota,特殊常量,可以认为是一个可以被编译器修改的常量。 在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1。 iota 可以被用作枚举值: 第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会 阅读全文
摘要:
声明:本文内容源自腾讯游戏学院程序公开课。 一、什么是游戏服务器 1,从游戏玩家之间的交互形态出发 单机游戏:一个人在机器上玩。 联网游戏:同时玩的范围比较小,比如8-10个人。 网络游戏:在远端有许多机器跑一个很大的系统,可以有几千几万几十万甚至更多的玩家连进来一起玩。 2,游戏服务是互联网服务的 阅读全文
摘要:
原题链接 原题中文链接 一、题目描述 二、题目分析 1,常规解法 这道题目的意思是给定一个数组和一个值,要求出这个数组中两个值的和等于这个给定值target。 输出是有要求的: 坐标较小的放在前面,较大的放在后面。 这俩坐标不能为零。 因此我们可以用两个for循环遍历整个数组,找到这个数组中两个值的 阅读全文
摘要:
一、Go语言中的range Go 语言中 range 关键字用于 for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素; 在数组和切片中它返回元素的索引值, 在集合中返回 key-value 对的 key 值。 二、代码举例 如果把代码第七行的 _ 删 阅读全文
摘要:
https://tour.go-zh.org/methods/25 一、题目描述 还记得之前编写的图片生成器吗?我们再来编写另外一个,不过这次它将会返回一个 image.Image 的实现而非一个数据切片。 定义你自己的 Image 类型,实现必要的方法并调用 pic.ShowImage。 Boun 阅读全文
摘要:
https://tour.go-zh.org/methods/23 一、题目描述 有种常见的模式是一个 io.Reader 包装另一个 io.Reader,然后通过某种方式修改其数据流。 例如,gzip.NewReader 函数接受一个 io.Reader(已压缩的数据流)并返回一个同样实现了 io 阅读全文
摘要:
https://tour.go-zh.org/methods/22 一、题目描述 实现一个 Reader 类型,它产生一个 ASCII 字符 'A' 的无限流。 二、题目分析 io 包指定了 io.Reader 接口,它表示从数据流的末尾进行读取。 Read 用数据填充给定的字节切片并返回填充的字节 阅读全文
摘要:
原题链接 原题中文链接 一、题目描述 二、解题思路 题目所描述的意思是对每个数组先进行取反,并且对数组中的每个元素进行取反转换,所以一共要执行两个操作。 使用reverse函数解决水平翻转的操作; 由于是二进制矩阵,所以使X反转后的结果为 1-X。 三、Solution C++代码: 四、个人收获 阅读全文
摘要:
原文链接 Github地址 一、陈述 1,我到底能用Python做什么? 我观察注意到Python三个主要流行的应用: 网站开发; 数据科学——包括机器学习,数据分析和数据可视化; 做脚本语言。 二、网站开发 网站框架将帮助你创建基于Python的服务器端代码(后端代码),这些代码将在你的服务器上运 阅读全文
摘要:
一、问题的出现 用C#在写多线程时报错 二、解决方案 1,分析思路 本来对BaseStruct设置为私有访问,但调用时又想公开化,从而造成了编译错误。 2,解决 将红色部分改为公有 3,总结 注意public、pravite、和internal关键字的用法 三、参考文档 Microsoft Comp 阅读全文
摘要:
一、介绍 目的:本文将主要介绍在windows使用VSCode配置Go语言环境 软件:VSCode 二、安装出现的问题 完整信息如下 三、解决方案 进行如下命令进行目录切换:cd %GOPATH%\src\github.com\golang我这里的GOPATH是在D:\GoPath,大家这里一定要注 阅读全文
摘要:
一、介绍 目的:使用Go语言写一个简单的聊天机器人,复习整合Go语言的语法和基础知识。 软件环境:Go1.9,Goland 2018.1.5。 二、回顾 Go语言基本构成要素:标识符、关键字、字面量、分隔符、操作符。它们可以组成各种表达式和语句,而后者都无需以分号结尾。 标识符:程序实体,前者即为后 阅读全文
摘要:
【初识编程】 记得第一次接触编程是上高一的时候,那时的我懵懂无知,但对周围充满着好奇,尤其是科技。当时学校的机器人兴趣小组招人,我稀里糊涂的就进去玩。当时我以为是焊板子连线路,谁知道刚一进教室就让我们开始学习C语言,用Turbo C写程序。当时白天上课,中午在实验室内做俯卧撑(因为一道题做错要做一百 阅读全文
摘要:
源地址 https://tour.go-zh.org/methods/20 一、题目描述 从之前的练习中复制 Sqrt 函数,修改它使其返回 error 值。 Sqrt 接受到一个负数时,应当返回一个非 nil 的错误值。复数同样也不被支持。 创建一个新的类型 并为其实现 方法使其拥有 error 阅读全文
摘要:
源地址 https://tour.go-zh.org/methods/18 一、题目描述 通过让 IPAddr 类型实现 fmt.Stringer 来打印点号分隔的地址。 例如,IPAddr{1, 2, 3, 4} 应当打印为 "1.2.3.4"。 二、题目分析 设置IPAddr类型; 借助fmt. 阅读全文
摘要:
源地址 https://tour.go-zh.org/moretypes/23 一、题目描述 实现 WordCount。它应当返回一个映射,其中包含字符串 s 中每个“单词”的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。 你会发现 strings.Fields 很有 阅读全文