一直以来感谢大家使用Nuita
这个月也迎来了每月一次的期待时刻——Nuita通讯的时间到啦!让我们一起回顾一下这个月的Nuita吧。
不过,这次的内容好像有点偏向技术宅向……

我们引入了imageproxy

投稿图片

在Nuita中,当用户的推文中包含URL时,系统会自动解析链接页面并获取信息,在时间线上显示该内容的相关信息(这一处理功能作为panchira对外公开开发)。

为了显示内容的缩略图,需要获取并共享原网页的图片。但如果直接嵌入原始链接的图片,不仅会产生安全隐患,而且每次访问Nuita时都会向原网站的图片发送请求,给原网站的服务器带来负担。

因此,为了防止对原网站的直接访问,我们此前一直暂时使用camo作为代理服务器。它相当于一个跳板,能够避免直接链接图片,而且似乎实际上(曾经?)被Togetter等各种网络服务所使用。
另一方面,由于缓存服务器功能需要另行准备,而且更新似乎从大约三年前就已经停止(最后一次更新似乎是在2017年),有时会出现无法正常运行的情况,结果我们不得不将其使用控制在最低限度。

因此,作为本月开始的新尝试,Nuita引入了imageproxy
它和之前的camo一样具有代理服务器的功能,但同时也兼具缓存服务器的功能,通过将发布的图片临时保存在内存或存储中,可以将对原网站的访问控制在最低限度。
当用户发布URL时,该图片会被缓存到Nuita服务器的内存中,完全不访问原网站即可显示URL的缩略图。此外,除了内存之外,缓存区域有时也会使用AWS上的存储空间,但这些图片会以无法直接查看的形式保存,并在到达一定期限后自动删除。

图

图(你看出来了吗?)

Nuita今后也将以成为对内容平台和创作者都有益的服务为目标继续开发。有关该方针的详细内容,欢迎查看这篇文章

我们引入了Docker和Github Actions

Nuita的开发在Github上进行,在代码仓库中,志愿技术人员们为了更好的射精报告不分昼夜地持续开发。

然而,软件开发不仅外表朴素,也常常得不到什么乐趣,导致大家为了获得直接的快感,渐渐变成开发自己的身体多过开发Nuita。

因此,为了在能够投入到Nuita的有限时间里获得最大效果,Nuita新引入了Docker以及Github Actions

Docker是一款可以轻松启动容器(冒着被内行人骂的风险说一句,大概可以理解为一种虚拟机)的软件,通过共享其配置文件,多名开发者之间也能轻松共享开发环境。

此外,Github Actions是一项便利功能,可以针对Github上的代码在虚拟环境中自动执行一系列命令——有了它,即使人类正在射精的时候,也能让机器进行测试、部署等工作。虽然未来的目标之一是实现部署自动化,但目前主要用于对提交的拉取请求(pull request)以及已合并代码进行自动测试。

Github Actions

通过引入这些新技术,我们确信Nuita的开发变得更加便利了!如果正在阅读本文的你多少具备一些Web工程技术,不妨和我们一起愉快地参与Nuita的开发吧?

关于本次新功能的使用感受等,如果有任何想法,欢迎随时通过twitterGitHub联系我们。 那么,请在新增了时间线、变得更加便利的Nuita上尽情享受射精吧!