最近看了一本WebRTC入门书籍《WebRTC权威指南》,介绍了大量的WebRTC基础概念,并提供了一个运行demo。遇到几个兼容问题,解决后终于运行起来,下面记录一下。 ## Demo功能...

1.mysql主从复制相关配置 master: 1. 开启二进制日志 2. 配置唯一的server-id 3. 获得master二进制日志文件名及位置 4. 创建一个用于slave和master通...

###1.Erlang依赖环境安装 RabbitMQ需要依赖erlang环境,但是通过yum install erlang安装的版本比较老,会有问题,所以手动下载安装,直接下载erlang21 。 ...

1.背景 因为项目原因,需要为ios版本提供一个sdk版本,而这个sdk库中使用到了curl,为了完成这个ios sdk,需要编译一个ios环境下的libcurl库。 因为libcurl库的问题,...
# mac开发  

1.背景 在去中心化的区块链中进行交易(转账)是怎么实现的呢?本篇通过blockchain_go来分析一下。需要进行交易,首先就需要有交易的双方以及他们的认证机制,其次是各自的资金账户规则。在分布式...
# 区块链  

1.背景 blockchain_go是一个go语言实现的简化的区块链项目,麻雀虽小五脏俱全,区块链涉及的各个方面都会有所体现,是入门区块链的一个好选择。作为分布式应用的区块链,新节点的加入需要同步已...
# 区块链  

词语使用区别 need更多是表示“必要性”–necessity,比如: Human need water/food/sunshine… want表示“想要”–desire,比如: I w...
# 英语学习  

表示时间长短 Look和See表示的动作时间更短。 Look over that. Do you see it? Watch的时间更长。 Watch a movie. Watch TV....
# 英语学习  

今日头条 视频来源 学习英语口语的时候,一定要用句子,不能用单词。比如, A: Do you like dog or cat? B: dog. //wrong B: I like dog. //...
# 英语学习  

He moves the tables/chairs. He sweeps the floor with a broom. //他用扫帚打扫地板。 He picks up the dirt wit...
# 英语学习  

Truffle的环境安装在前文已经整理,这次用Solidity在Truffle写一个HelloWorld以太坊智能合约,并在testrpc上进行测试。当前的软件版本信息如下: Truffle v4....
# 智能合约  

truffle是一个基于Javascript开发的一套智能合约开发框架,使用Solidity语言编写合约。truffle有一套自动的项目构建机制,集成了开发,测试和部署的各个流程细节,不用开发人员关注...
# 区块链   # 智能合约  

为了测试以太坊智能合约,最方便的是在本地搭建一个以太坊私有链。在mac上搭建环境主要需要以下步骤。 geth安装 geth是go-ethereum的简写,是一个用go语言编写的以太坊客户端,是在以...
# 区块链  

工作量证明 在分布式网络中各个孤立的节点要有一种机制对某件事情达成共识,而工作量证明(Proof of Work)就是一种应用在区块链中的共识机制,另一种著名的公式机制是权益证明(Proof of ...
# 区块链  

口语说得磕磕巴巴,除了词汇量不够,常用造句句型不熟悉外,一个重要原因就是每次说出来的英语都是自己心理从汉语翻译成英语再说出来,多了一个处理环节,自然就慢半拍了。 为了能够流利表达,需要训练自己用英语...
# 英语学习  

Sentences 1.Subject + Verb(主语+动词) The boy plays. Jack eats. Zack sits. 扩展句子: Jack eats. //Jac...

背景 游戏开发中,经常会遇到“开房间”的游戏逻辑,比如组队下一个副本,开房间来一场赛场,开房间玩一局跳舞游戏,建房间进行一局斗地主/麻将游戏等等。而一局基于房间的游戏中,可能会涉及客户端消息,rpc...
# 游戏开发  

为什么需要项目管理 项目管理可以理解为为了达到一个特定的目标,所实施的一系列对项目过程要素的管理,内容包括人员,资源,关系和技术等。项目管理的三个核心要素是:成本,时间,质量。通过平衡协调各方面的资...
# 游戏开发   # 项目管理  

背景 基于golang web框架gin开发的个人博客系统(wblog) 需求 需要更加是否是管理员(或者是否登录),增加隐藏博文的访问链接,便于自己查看隐藏文章,以及防止未登录用户查看,需要:...

背景 随着软件项目越来越庞大,为了提高开发效率和有效的质量管控,开发过程中的项目管理越来越重要,流程分工也在不断细化。传统的软件开发过程分大致分为如下几个步骤: 需求提出 可行性分析 需求分析 ...
# 游戏开发   # 需求管理  

defer机制 go语言中的defer提供了在函数返回前执行操作的机制,在需要资源回收的场景非常方便易用(比如文件关闭,socket链接资源十分,数据库回话关闭回收等),在定义资源的地方就可以设置好...
# golang  

背景 go语言中切片slice是方便且好用的强大数据结构,但是使用的时候需要注意,不然容易出问题,最近因为遇到了一个slice的使用问题,比较典型。 有一个功能需求,用户需要获取1-20的不重复随机...
# golang  

从零搭建个人博客网站需要包括云服务器(虚拟主机),域名,程序环境,博客程序等方面。本博客 就是通过这几个环节建立起来的,下面总结梳理一下环节的具体过程。 云服务器 博客程序需要有一个服务器部署和运...
# 博客搭建  

背景 近几年的游戏行业中,出现了各种各样的滚服游戏,包括页游,手游,H5游戏等等。滚服游戏和大服游戏的区别在于同时游戏人数,大服游戏是有很多用户在一起玩,甚至几十上百万玩家。而滚服游戏则一般会设计游...
# 一键合服   # 游戏开发  

在游戏或者手机app开发过程中,前后端为了调试定位协议问题,有时候需要抓取客户端服务器的网络交互数据包进行分析。在linux服务器上可以方便的在命令行使用tcpdump抓包,在windows或者mac...
# app抓包  

背景 在我的后端游戏架构中,有一个golang开发的数据服务器,用来存储落地玩家的历史数据,并提供给客户端http接口查询。由于之前的项目已经在使用mongodb,出于方便易用支持类json格式的b...
# golang   # mongodb   # 游戏开发   # mgo  

什么是CAP 所谓CAP原则,是指在分布式系统中Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)三者不能同时得到。 + 一...
# 分布式   # CAP   # 分布式一致性  

经常看到各种技术文章或者分布式系统介绍说系统的可用性达到了多少个9,那么所谓”几个9“到底是怎么计算的?又意味着什么?我们简单计算分析下看看。所谓”1个9“是指90%,”2个9“是指99%,”3个9“...
# 高可用   # 可用性  

酌酒与君君自宽,人情翻覆似波澜。 白首相知犹按剑,朱门先达笑弹冠。 草色全经细雨湿,花枝欲动春风寒。 世事浮云何足问,不如高卧且加餐。 ...

在写服务器程序时,特别是业务向的服务(比如游戏服务器),经常会遇到处理许多客户端协议的情况,如果是http服务,那么定义好处理接口,剩下的交给web服务器就可以了。但是二进制协议就没有这么方便了。...
# golang   # 协议映射  

在分布式架构中,服务治理是一个重要的问题。在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进行服务关系管理,遇到服务关系变化或者增加服务的时候,人肉配置极其麻烦且容易出错。 之前...
# golang   # consul   # 分布式   # 服务发现  

配置文件热更新是服务器程序的一个基本功能,通过热更新可以不停机调整程序的配置,特别是在生产环境可以提供极大的便利,比如发现log打得太多了可以动态调高日志等级,业务逻辑参数变化,甚至某个功能模块的开关...
# golang   # 配置热更新  

产品和程序很多时候总是不在一个位面,互相不理解,误解很深。 产品汪:我们要去月球,需要开发一个火箭。 程序猿:具体啥需求啊? 产品汪:需求就是能够去月球啊,人的话能多载就多栽,其他没啥需求了。 ...
# 开发沟通  

最近有需求将包含latex格式的html文档转换成pdf和docx文档的需求,由于之前完全没接触过,最近几天调研和实验了一番后将格式转换的关键点都实验成功,总结记录一下。 转换原理 各种转换工具对...
# latex   # 格式转换