/ 微游技术部

微游技术部一周分享 20210919期

minigame.vip

关于微游互娱技术部

微游互娱,立足中国,面向全世界,致力于全球游戏发行。

作为一个小地方的小型初创团队的小技术部门,我们一直努力提高自己的专业能力,希望能够用自己的专业能力提高游戏发行的效率,提高游戏研发团队的合作满意度。

以此为目的,技术部内每周都有内部技术分享,希望通过学习、总结、分享,建立团队的技术氛围,提高团队和个人的专业素养。

我们都是一些普通的程序员,曾经很多人都没有自信,觉得自己分享的内容太普通了。不过,我一直觉得,分享,其实首先是写给自己的看的,其次才是写给别人看的。经过一段时间的实践,发现团队内每个人都有明显的成长。

以下是第20210919期的微游技术部一周技术分享内容,如果对你有所帮助,是我们的荣幸,如果你能帮助指出其中的错误,那是我们的荣耀。谢谢。

1. 游戏开发

1.1. 用Cocos Creator开发一个多功能弹窗

https://gitee.com/lanbozhang2021/ShareThings/blob/master/cocos/多功能弹出框实现.md

2. Web开发

2.1. 利用Nuxt.js的axios插件,封装数据调用接口。

https://segmentfault.com/a/1190000040681617

2.2. 实现一个可以任意滑动的浮动按钮

https://segmentfault.com/q/1010000040690400

3. 后端开发

3.1. 分布式链路追踪初探

讲一讲微服务组成中可观测性的分布式链路追踪,以及

  • OpenTracing for go
  • 链路追踪系统Jaeger

https://overstarry.vip/posts/分布式链路追踪初探/

4. 工具开发

4.1. 利用node.js的PKG工具,把一个node项目变成可执行程序

https://gitee.com/dony1122/ccFramework/blob/master/PKG打包node项目成可执行程序.md

利用pkg工具可以把整个运行环境连同测试应用打包给普通非开发人员使用。

https://www.npmjs.com/package/pkg
https://github.com/vercel/pkg
This command line interface enables you to package your Node.js project into an executable that can be run even on devices without Node.js installed.

官方解释:这个工具可以把node.js项目打包成可执行程序,运行在没有安装node.js的环境下。

5. 运维与架构

5.1. 利用DNSMASQ配置私有DNS解析服务器,搭建本地测试环境。

http://xmanyou.com/setup-dnsmasq-on-mac-for-custom-dns/

5.2. Nginx使用proxy_pass配置反向代理的一些经验教训

1). proxy_pass文档学习和配置建议

https://xmanyou.com/nginx-proxy_pass-details/
https://xmanyou.com/nginx-proxy-guide/

2). 拦截上游(upstream)服务器的错误

设置proxy_intercept_errors on;,可以拦截上游服务器的错误,避免敏感信息泄露,还可以配置自定义错误页,提供更友好的错误提示。

https://xmanyou.com/nginx-set-customer-error-page-for-proxy-server/

6. 一些有意思的技术

6.1. regex101 正则表达式苦手福音

https://regex101.com/

这个网站可以帮忙分析和测试你的正则表达式,还有一些常用的正则表达式库。

比如:https://regex101.com/r/58sIgx/2
regex101-guide

6.2. 由字符串反向生成正则表达式

https://github.com/pemistahl/grex
A command-line tool and library for generating regular expressions from user-provided test cases

根据提供的测试字符串,生成正则表达式。这个想法真是太酷了,再配合regex101正则表达式分析,可玩性大大提高。

6.3. 基于Nginx的高性能网关ApiSix

这是一款国人开发并开源的高性能网关。

https://github.com/apache/apisix
Apache APISIX is a dynamic, real-time, high-performance API gateway.
APISIX provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more.

6.4. K8s管理工具Rancher

k8s是容器的编排工具,具有很高的抽象层次,很多概念,对于新手来说有一定的上手难度。
Rancher是一个容器编排工具的管理工具,也就是说是k8s的管理工具,大大降低了k8s的管理难度。

https://rancher.com/docs/rancher/v1.6/zh/
https://github.com/rancher/rancher