道理我都懂,但 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 这么

第一次运营开源项目的感想——写在 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 这个坑填了不少,估计以后可以写篇文章介绍一下

HTTP 测试——七牛 httptest 测试工具包使用小结

新年快乐 有一段时间没更博客了呀~ 一月初的时候是在忙着准备期末考试,今年很幸运一门都没有挂科。最没底的概率论被老师给捞过了,要知道这课我就只去了两次。计组很意外的期末考试拿了 84 的分数,不枉我每节课都坐第一排认真听讲哈哈。加上这学期省赛一等奖的绩点加成,下学期绩点可以有 4.1,奖学金应该是稳了的。 同时在期末考完毛概后,想稍稍放松一下,居然给 BiliSRC 交了两个高危。直接 8k 入账

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

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

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

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

RoarCTF Web writeup

前几天一直在打 RoarCTF。Web 题总得来说难度适中,正好适合我这种菜鸡学习新东西 XD 虽然第一天刚开始的时候平台一直进不去,从而导致一堆娱乐圈的弱智直接知乎见。真的无语。其实整场比赛下来我感觉还是蛮爽的,虽然容器有时不是很稳,但从题目质量上来说确实看得出是师傅们是蛮用心的。 自己花了一下午肝出来了一道 Web,然后第二天和 @Moesang 大佬一起,拿了 Web Go 题的一血。开心~

最后的一只章鱼猫 —— GitHub Actions 实现编译打包 Golang 到 Docker 镜像

这阵子还挺忙的,上周二飞天津参加第五空间线下赛,回来后周五又是助手那边的面试,周六又是省赛线下赛,这星期又是协会这边的面试。 忙里偷闲抽了点时间继续在看 Redis,目前已经看到原理篇了,了解到了不少有意思的算法与实现原理,整本书看完后会写点东西总结一下。近期助手的 GitHub 教师认证通过了,并开通了团队的一堆福利。考虑到 GitHub 这边的工单系统更加完善,因而逐渐开始从自建 Gitea