BytePower 技术周刊 - 036

2024/7/17

# 📘 封面


美东夏令时间 2024.7.13, 美国前总统唐纳德·特朗普在为年底总统大选造势的活动集会中遭遇一名美国男子枪击。 美联社驻华盛顿首席摄影师、普利策奖得主埃文·武奇(Evan Vucci)在一片混乱中拍摄下这张作品,他表示当时他只是关心如何拍好这历史性的一刻,脑袋里想的都是机位、光线、构图。

# 📖 文章

# 在客户端中安全地上传文件 (opens new window)

更好的方案: 后端生成「预签名链接」并通过 API 下发

前端可以对预签名链接直接发起 PUT 请求,这样我们可以收获的好处有:

  1. 更安全:永远不会因 暴露客户端代码 或 被反编译 而泄露至关重要的 AccessKeySecretKey
  2. 更灵活:利用显式指定 Content-TypeContent-Length 来防止客户端被破解,从而绕过业务策略的限制
  3. 低成本:统一由服务端传递预签名链接,客户端开发人员只需要完成 PUT HTTP 请求即可,不需要学习和调试不同语言下的 S3 SDK(事实证明,AWS SDK 不同的语言版本由不同的团队维护,其规范、特性差异较大,不利于项目稳定。)
  4. 高性能:上传请求依然是直接对 缤纷云 S4 发起,不需要服务端中转。

# JavaScript 进阶问题列表 (opens new window)

  1. 输出是什么?
function sayHi() {
  console.log(name);
  console.log(age);
  var name = 'Lydia';
  let age = 21;
}
sayHi();
  • A: Lydia 和 undefined
  • B: Lydia 和 ReferenceError
  • C: ReferenceError 和 21
  • D: undefined 和 ReferenceError

# Go 语言编程技巧 (opens new window)

本文总结了一些 Go 语言开发中经常遇到的一些问题或者编码技巧。

# 各类游戏对应的服务端架构 (opens new window)

仓库中包含几篇关于游戏服务器开发的文章,也介绍了一些游戏服务器发展历史。

第一代游戏服务器 1978

1978 年,英国著名的财经学校 University of Essex 的学生 Roy Trubshaw 编写了世界上第一个 MUD 程序《MUD1》,在 University of Essex 于 1980 年接入 ARPANET 之后加入了不少外部的玩家,甚至包括国外的玩家。《MUD1》程序的源代码在 ARPANET 共享之后出现了众多的改编版本,至此 MUD 才在全世界广泛流行起来。不断完善的 MUD1 的基础上产生了开源的 MudOS(1991),成为众多网游的鼻祖。

# SQL 实用技巧-行列转换 (opens new window)

什么是行列转化?如下图,不同商品在不同月份的销量数据,有时候我们希望数据和左侧一样的排列,但原始数据却像右侧一样排列,此时我们需要把右侧的列排列转换成左侧的行排列,反之亦然。

# 📺 生活

# 小雅 (opens new window)

依托阿里云盘、夸克网盘等在线网盘打造个人多端观影系统。

xiaoya-alist (opens new window)

# 🧰 工具

# yazi (opens new window)

一个终端文件管理器。

# tssh (opens new window)

一个终端交互式 ssh 客户端工具。

# 缤纷快传 (opens new window)

Send it like AirDrop. 类似于牛奶快传、文叔叔一样的文件分享工具,特色是上传过程中就支持用户下载(即传即收)。

# 🐠 有趣的东西

# 我晕:iPhone 的新辅助功能,真能让你不晕车? (opens new window)

iPhone 新功能,通过将车辆运动显示在屏幕上来缓解晕车症状,不知是否有效。

# Ugly Avatar (opens new window)

你需要一个 Ugly 头像吗?

上次更新: 2024/7/17 14:31:18