50 行代码实现一个简单的 WEB 服务器

最近在看 Groovy 正好写一个 WEB 服务器熟悉下语法。

这里的简单是只实现网站根目录的访问,一个完整的 WEB 服务器实现是很复杂的 可参考 nginx

关于 AMD 黑苹果 无法使用 Docker 的问题

AMD 下的黑苹果无法正常使用 Docker ,由于苹果从来没有用过 AMD 的 CPU ,所以 MacOs 下的 Docker 只对 Intel 做了支持,AMD 黑苹果是破解内核实现 所以即使开启了主板虚拟化 也不能正常使用 Docker 而会提示下面的信息

Krpano 全景播放初探

Krpano 是一套全景解决方案 支持视频以及图片 也是商业化项目使用最多的全景播放器 不过它并不免费 其特点是在支持 HTML5 模式中 采用 WebGL 以及 CSS3D 实现 在不支持 HTML5 标准的浏览器中 可以使用 Flash 实现,而对于我们来说不需要关心 HTML5 和 Flash 的实现,成本就是需要学习 Krpano 的 DSL 语法 。

BookStack PDF 导出中文乱码解决

BookStack 存在一个 Bug,即导出中文 PDF 文件乱码。

相关源码如下:

protected function htmlToPdf($html)
{
    $containedHtml = $this->containHtml($html);
    $useWKHTML = config('snappy.pdf.binary') !== false;
    if ($useWKHTML) {
        $pdf = \SnappyPDF::loadHTML($containedHtml);
        $pdf->setOption('print-media-type', true);
    } else {
        $pdf = \DomPDF::loadHTML($containedHtml);
    }
    return $pdf->output();
}

用 IFTTT 来做验证码转发

在此之前,我一直用的是阿里小号 这个小号非常的好用 小号可以给你提供一个虚拟的电话号码 和你真实的电话号码进行绑定 这样你不管怎么换号码 只需要重新去绑定下 小号对外的号码永远不变 (这就是面向接口编程的好处)。

现在每天要带上两部手机,一个用来接收验证码 一个用来当作主力流量机 确实很麻烦,所以我准备使用 IFTTT 来转发我的短信 这样就不用带两部手机了。

使用 Google Voice 申请美国号码

拥有一个国外的电话号码也不是一件环事,甚至有一些 App 还有一些特权 在国内天生能够防止垃圾诈骗电话,下面我教大家如何免费申请。

圣诞节小游戏

把你想要的礼物在活动中画出来,提交之后会自动进行抽奖(优惠劵),中奖等级一共分为3个,最后把抽得的优惠劵以邮件的方式发送给你。

没有分享的用户可以免费玩3次,之后分享一次玩一次。

使用 Jenkins 持续集成你的项目

我所理解的持续集成,其实很简单 这就是一个自动化,只不过这个自动化不单单是一个脚本 而是一个基于平台支持的 高扩展 自定义强 能满足项目的各种需求。

浅谈 HTTP 和 HTTPS

说起 HTTP 协议让我想起了之前做的 socket 聊天,自己定义了一套规则 比如定义一个特殊字符 socket 读到了这个特殊字符 就代表这是一整句结束 显示到界面,发送文件还定义的是一个 Magic Number 告诉 socket 不要按照字符串解析了。

现在想起来 我当时做的事情就是自定义协议 用来规范客户端和服务端的通讯 而 HTTP 协议就是干这个事情的 来规范服务器和客户端的请求&响应标准。

解决 PJAX 在 Jquery3.0+ 版本下无法使用

在目前 github 上面的代码 不能在 Jquery3.0+ 下面正常使用,会抛出这个异常:

error

报错的是这一段代码:

if ( $.inArray('state', $.event.props) < 0 )
  $.event.props.push('state')

因为在 Jquery3.0+ 之后 移除了 $.event.props 具体参见
https://jquery.com/upgrade-guide/3.0/#breaking-change-jquery-event-props-and-jquery-event-fixhooks-removed

下载针对 Jquery3.0+ 版本的修复版:

https://gist.github.com/oh-ren/7afed121c2cd29993bd26c996fc6f501

https://github.com/defunkt/jquery-pjax/issues/634