R·ex / Zeng


音游狗、安全狗、攻城狮、业余设计师、段子手、苦学日语的少年。 MUGer, hacker, developer, amateur UI designer, punster, Japanese learner.

Rex.sh:一个伪 Web terminal

之前写过一个“rexskz.info in terminal”,打算用伪 Web terminal 来展示自己的博客,但是后来发现简直是太简陋了,于是萌生了重写的念头。经过一段时间,居然写完了。这篇文章就是分析一下里面用到的一些技术。虽然这个终端还是很简陋,对命令的支持仅限于 command arg0 arg1 ... 的格式,但是它支持自动补全、颜色,也有文件系统和变量,所以还是比之前的稍微高级那么一点的。按照惯例,先上图:CSS 部分首先,一个 Web terminal 要长的像 Te...

一个由全屏引发的问题

最近在搞一个跟全屏有关的东西,我知道 Fullscreen API 浏览器的支持很有限,于是在写的时候加足了浏览器的私有前缀,包括 CSS:.video-container-inner:-webkit-full-screen, .video-container-inner:-moz-full-screen, .video-container-inner:-ms-fullscreen, .video-container-inner:fullscreen { position: fix...

world.execute(me); me.runSimulation(world);

网易云音乐突然给我推荐了这么一首歌,歌名叫“world.execute(me);”,没错,引号里面的都是歌名。第一次听觉得节奏和旋律都挺不错的,只是除了 execution 以外一个词都没听懂……于是就去看了一眼歌词,这一看不要紧,原来歌词是下面这段代码里面所有的行级注释。package goddrinksjava; /** * The program GodDrinksJava implements an application that * creates an empty si...

从找数字的规律说起

本文可能过于主观,如有不同观点,欢迎回复。想看总结的可以直接跳到 这里。找规律看到了一道招聘的试题:-2/5,1/5,-8/750,()?不得不说,此生最痛恨的问题之一就是找规律。关于这类问题,有人认为有意义,有人认为耗时间,这两种意见知乎上都说了很多。认为有意义的人,一个观点是“历史上很多东西都是找规律找出来的,例如物理学”,或者“可以从众多答案中找出最好的那个也是一种能力”,认为耗时间的人,直接举出了拉格朗日插值这个大杀器(简单易懂的版本可以看 这里)。如果用这个大杀器,那么这道题的答...

翻一翻自己的黑历史——rscss、rsjs

惯例在写正文之前扯一堆没用的,想直接看正文的话可以点 这里。敢于自爆黑历史也是一种勇气。刚才无意间看到了 AmazeUI。没忍住于是发了条动态:现在再看 AmazeUI 感觉已经不是那么回事了,现在的几大前端框架以及各种工具改变了前端开发的几乎全部内容,除了基础语法以外都得重新学。。明明才过去几年啊。。想当年我还在纠结于写一个 CSS 库(类似于 <input> 等标签的样式库),某人问我:“你听说过可以点击链接不跳转页面,直接局部刷新的东西没?”我还觉得很不可思议,一个月后的...

使用 PhantomJS 来实现 CTF 中的 XSS 题目

Update 20180607:Puppeteer 的版本请移步 这里。零:CTF、XSS 的概念CTF 在这个博客中提到的已经很多了,它是一类信息安全竞赛,在比赛中,选手通过各种方式,从题目给出的文件或者网址中,获取到某一特定格式的字符串。CTF 中比较常见的一个题型就是 XSS(跨站脚本攻击),大概的原理就是服务端没有正确过滤用户的输入,导致用户提交的畸形字符串被插入到网页中并被解析成 JavaScript 执行。在 CTF 中,XSS 一般用来拿管理员的 Cookie,伪造身份登录后...

【恐怖小说】被双向绑定的生活

本故事部分片段取材于日常生活,故事本身完全虚构,与现实中的任何人或事均没有任何联系。“Vue 用的是 Getter 和 Setter,Angular 跟它是不一样的!”一“我要干什么来着?……哦对,这个地方的数据绑定错了。”我无奈地摇了摇头。我是一名计算机学院的学生,也是南航纸飞机曾经的主任。从学生组织退休到离校的这一年时间里,我一直占据着纸飞机办公室的一个小角落,每天在键盘上啪啪啪(写代码而已,别想歪哦)。我的面前有三个柜子,如果我坐在椅子上不出声,可能进来的人都不会看到我。这有一个好处...

CSS 中关于 overflow 的限制和绕过方法

在写毕设的时候遇到了一个看起来很难搞的问题。假设有如下 HTML 结构:<div class="scrollable"> <table> <thead> <!-- headers --> </thead> <tbody> <!-- contents --> </t...

从 Sublime Text 转向 VS Code

前几天突然看群里某同学提到了 VS Code,然后发现 VS Code 已经比刚出的时候好了很多,于是我就开始尝试了。先挂个梯子从 官网 那儿下载了下来。先试了一下,发现 VS Code 与 Sublime Text 相比最大的缺点就是不能同时支持多个文件夹的打开,只能显示某一个文件夹里面的内容,于是我索性把 E 盘拖了进去。然后发现插件很方便,于是装了一通插件:Color HighlightESLintFlatland MonokaiLaravel Blade SnippetsPHP D...

Laravel 版本与 PHP 版本之间的坑

又到了一年一度五四评优的季节,技术部又有的忙了。作为陪伴这套系统时间最长的人,也是目前唯一了解全部技术细节的人,我自然需要帮现在负责的同学们一点小忙。于是我又把这套系统 clone 了下来。如果用的是 Apache,那么 Laravel 已经有了 .htaccess 文件;但是Nginx 的配置并不像官方说的那么简单,下面是我尝试了许多次才配置成功的:location /evaluation { if (-d $request_filename) { rewrite...

CloudFlare,DNS,以及 Nginx 的多域名配置

在配置自己的个人网站的过程中,我学到了许多编程以外的知识,下面就来逐一说一说吧。CloudFlare由于我的网站是托管在 OpenShift 上面,而 OpenShift 提供的默认域名 xxx-xxx.rhcloud.com 在国内由于某些特殊原因无法访问,经过再三的搜索,我决定使用 CloudFlare 来在国内加速我的网站。CloudFlare(下文简称 CF)是一个可以帮助提升网站加载速度、阻止网络攻击的公司,原理是将域名的 NS 记录(后续会讲到)修改为 CF 的记录,所有走这个...

Rex 的除夕夜加密红包 Writeup

先吐槽一下这次的界面好了。前端确实是随手写的,加了一段 prism.js 做代码高亮;本来想做优雅链接来着,结果 Openshift 上面 Nginx 老是调不好。刚才又调了一下,终于可以了,于是把所有题目的链接都改成了优雅链接(https://hongbao.rexskz.info/{code})。然后在 index.php 的一开始写了如下几句:if (!preg_match('/^[0-9A-Za-z_]+$/', $_GET['code'])...

这是我们共同度过的

第 2686 天