道理我都懂,但 go embed 究竟该怎么用?

Go 1.16 发布! 就在前几天,Go 1.16 赶在二月的末尾发布了。 对于这个版本我期待了很久,因为官方终于从语言层面解决了静态文件嵌入的问题—— 加入了 go embed。从此,像 go-bindata、statik、togo 等库都将退出历史的舞台。 同时 Go 1.16 配套的加入了 io/fs 标准库,提供了实现文件系统的接口。同时对 http、embed、os 标准库都加入了对 f

Elaina —— 基于 Docker 的远程代码运行器

文章头图 PixivID: 85439235 @yuurei0 这几天过年,难得能闲下来做点自己的事情。前一阵子事情挺多的,博客更新也断了将近三个月。 之前在 LeanCloud 的官网看到他们有一个使用各种语言调用 SDK 的示例代码。 不过这些代码并不能实时运行。我又想起以前写 Apicon 时,曾有在 API 详细页加入可实时运行的示例代码的想法。那么说干就干,写一个实时代码运行器吧! 就这

一个实时协作文档的诞生

用户管理凡是企业都是需要的 一直以来,协会打比赛时所使用的协作文档都是 HackMD,这是一个使用 NodeJS 编写的可自主部署的在线 Markdown 协作应用。用了这么多年了,HackMD 的一些弊端和痛点也暴露了出来。 * 没有完备的用户管理 * 文档不能细致的分类分组 * 在线编辑器有时候光标显示错误 … 因此,我萌生了自己造轮子写一个协作文档的想法。这是今年暑假一拍脑袋做的

《黑客与画家》读书小记

一直以来有个看书的坏习惯,拿到一本书,刚开始三分钟热度一口气看了个三分之二,热度过去了,剩下三分之一就一直拖着了。去年夏天买了本《献给阿尔吉侬的花束》,剩下那么几节一直拖着没看完,自己倒也不纠结后面的内容,就这么坦然地拖着。 这次也是一样,上学期疫情返校后从学校图书馆借的一本《黑客与画家》,本想着暑假看完的,又是拖了最后那么几页。 最近逼着自己抽出时间看完了。不得不说这本书是谁看了谁就想立马创业,

聊聊 EventStream 服务器端推送

之前在写 Cardinal 平台的从 Docker 镜像部署靶机的功能时,打算在后台拉取镜像时,前端能有一个实时滚动的控制台日志给用户以反馈。 最初的想法是使用 WebSocket 实现后端和前端之间的持续通信,正准备写之前,我想到 Drone CI 在执行持续集成任务时,也有一个类似的实时日志的功能,遂打算先研究下 Drone CI 的实现,吸取下经验,结果接触到了 EventStream 这么

CyBRICS 2020 Web Writeup

有一段时间没打比赛了。前几天是 XCTF 联赛的 CyBRICS 2020,不得不说国外战队的比赛体验真的很好,平台好看,题目不说难度,至少看得出是花心思了的。最后协会也是拿了中国第三 世界第七的成绩 👍👍👍 这里记录一下 Web 题,当做日后备忘。总得来说 Web 不算太难,考得知识点也不是很广,感觉学不到太多东西。 Hunt 挺有创意的签到题。 F12 Console 建几个五个 reCAPT

GitHub Actions × Unity3D 持续交付实践

期末考完回到家了,很庆幸这学期又没有挂科。从今以后就是不挂科的大茄子了! 在校备考这段时间,收到一条关于 Asteroid 的 issue #3,说实话挺气的。开源无可避免地会遇到伸手党或者不愿自己尝试的人,作为开发者只能被动地把软件做得尽可能简单,来减少他们提问题的机会。 每当遇到不看文档不动手直接上来问的,我都会想起下面这则笑话: 软件工程师努力设计出最大最好的连白痴都会使用的程序;而宇宙在拼

第一次运营开源项目的感想——写在 Cardinal 60stars 之际

头图中的 Vidar 娘,作者 @b0lv42 我记得是在大一下学期时,@Li4n0 提到了协会下半学期办比赛的事,也就是后来的 D^3CTF,并且希望能写一个线下 AWD 平台,留着今后一直传承使用下去。之前 @Li4n0 学长负责了 2018 年的 HCTF 线下 AWD 平台的全栈开发,当时他使用的是 Python Django + RabbitMQ,据说当时是勉强撑了下来。因此我们决定使用

NekoWheel 猫轮 —— 一起来愉快的造轮子吧!

NekoWheel 想法的诞生 之前在博客中提到过,自己这段时间以来一直都挺丧的。知道每天效率都很低,但是又没啥干劲;有时又会因为一个小问题折腾一整天,结果发现又绕回到了原点。 因此想着去做些什么让自己能够跳出这个循环,至少能让我有兴趣有动力去写一些感兴趣的东西,但同时又能接触些新玩意儿,增长些经验。 在朋友圈经常看到以前的同学在发自己的匿名问题箱,仔细想了下这东西好像也不难写,不如我花点时间简单

关于我刚开始学着给程序写测试时的一些胡思乱想

我把 Cardinal 开源了 就在一周前,我把写了一个寒假的 CTF AWD 平台 Cardinal 开源了。╰(º▽º)╯ 因为项目是放在协会的 GitHub 组织下的,所以要感谢 @Aklis 和 @Li4n0 两位学长的帮忙。 卑微胖茄求各位赏个 star:https://github.com/vidar-team/Cardinal 我的想法是今后将 Cardinal 当做一个长期维护的开

写了个小玩意来展示我做的小玩意(禁止套娃

HGAME 完结撒花~ 长达 4 周的 HGAME 2020 结束啦!因为是放寒假,所以每天几乎都睡到 12 才醒,醒来一看手机消息总会有几个学弟来问题。 陆陆续续下来,协会的招新工作也差不多接近尾声,一些有潜力的新生后面也要开始关注起来了。 在准备 HGAME 的空余时间呢,我依旧是在瞎写东西。Week2 在老家的时候把上学期开的 Pie-Baker 这个坑填了不少,估计以后可以写篇文章介绍一下

Vue 编译后该如何方便地嵌入 Go?

有一段时间没写点东西了。前一阵子事挺多的,又是重构助手阳光长跑后端,又是准备协会 Web 培训,上周又是 D^3CTF 线下。周五周六连续熬了两个通宵处理各种突发的问题,直到周日才在场地旁的沙发上睡了六个小时。 原本想写篇文章复盘一下 D^3CTF 的,但是思来想去好像都是些零零散散的琐事,没有可以单独拿出来讲的。还有就是些技术“机密”,不太好拿来公开分享哈哈。 今天难得有空在期末复习之余写了下自

关于我用 Go 写 HTTP(S) 代理这档事

起因是氪不起曲包 我很喜欢的音游——Muse Dash,在 10 月 28 日的时候发布了万圣节更新。新的游戏更新里加入了“周免”机制。即每周都会有一首付费曲包里的歌曲供玩家免费试玩,这样玩家就会有动力氪金买曲包了。 但是我这阵子手头一直不宽裕,比赛的钱最迟有要到下学期才发的…… 助手那边最近也没啥锅让我写。氪金当然是不可能氪金的啦。 不过自“周免”机制推出后,我就隐隐有一