/ 微游技术部

微游技术部一周分享 20220911期

minigame.vip

大家好,以下是微游互娱技术部本周的分享:

1. [IT运维] Gitlab CVE-2021-22205漏洞导致中了挖矿木马

https://overstarry.vip/posts/gitlab_cve-2021-22205/

最近公司的gitlab所在的服务器出现了cpu资源占用率100%的情况,经过服务端同学的不屑努力,终于找到了真凶:原来是有人利用了gitlab的漏洞(CVE-2021-22205)对我们的服务器进行了攻击。

本文介绍了该漏洞的情况,并给出了不升级gitlab版本的临时解决方案。

gitlab-backdoor-high-cpu-with-process-khnugtaskd

2. [安卓开发] Android WebView JS交互 传Json格式参数问题

https://juejin.cn/post/7141910809755516936

App开发中有时候需要在WebView与JS进行数据交互,当数据比较复杂或者需要传对象时,Json格式是比较常用的一种数据格式,但是如何正确传输呢?

本文介绍了实际开发中遇到的问题,并提供了一些正确示例。

3. [安卓开发] Android 字体下载

https://juejin.cn/post/7141912748920668196

为了让App的UI更好看,有时候会选择非系统内置的字体,但是如果直接将字体资源添加到App中,将导致App体积明显增大,是否有不增大App体积的方法呢?

本文介绍了如何使用可下载字体(downloadable fonts)来解决这个问题。

官方介绍:

从 Android 8.0(API 级别 26)和 Android 支持库 26 开始,可以支持 API 从提供程序应用请求获取字体,而不是将文件绑定到应用或让应用下载字体。该功能可通过支持库 26 在搭载 Android API 版本 14 及更高版本的设备上使用。

可下载字体功能具有以下优势:

  • 缩减应用大小,进而提高应用安装成功率
  • 提升系统的整体运行状况,因为多个应用可通过提供程序共用同一字体。这样可以帮用户节省移动数据网络流量、手机内存和磁盘空间。

4. [TypeScript] Typescript:选择类型安全的方法而不是补丁

https://juejin.cn/post/7141787341966245919

JavaScript比较著名的特点之一是它的对象和类是“开放”的,即你可以为它们添加任意的属性。这经常会被用来在网页上创建全局变量,通过给window或document分配属性。

当我们把数据附加到window或一个DOM节点上时,基本上把它变成一个全局对象。这很容易在程序的各个部分之间不经意的引入依赖关系,并意味着在调用函数时必须考虑副作用,并且这些新加的属性无法被TypeScript的类型检查发现。

那么,有什么好的方法呢?

本文介绍了TypeScript如何使用类型安全的方法来优雅地解决这个问题。

5. [k8s] 利用k8s储存卷来部署redis之三StatefulSet

https://luckytking.github.io/2022/09/利用k8s储存卷来部署redis之三statefulset/

k8s中的deployment是无状态的服务,但是实际项目中难免还会用到有状态的服务,本文介绍如何使用stateful来在k8s中部署一个有状态的redis服务。

以上。