某人不靠谱的杂货铺

The dream is unreachable, and reality is unacceptable

December 28, 2018

Rust 0x001 入门就写一个博客程序吧

当你不知道要干什么的时候,那就写个博客程序吧。 —— 鲁迅

是的,鲁迅曾经这么说过。当你的编程能力出现停滞的时候就写一个博客吧,尤其是入门阶段。更具体而言是写一个 CMS 系统,这也是我平时学习的习惯,我会一步一步解释清楚为什么我会选择这样的学习路线。

December 24, 2018

人家甩你很正常啊,你丑

如果你能重遇一个很久之前遇见过的人,你会想对她说什么。如果命运决定你只能走那么远,你会不会奋力再拼搏一下,再努力往前走两步?

那么热的夏天,少年的后背被女孩的悲伤烫出一个洞,一直贯穿到心脏,无数个季节的风穿越这条通道,有一只萤火虫在风里飞舞,忽明忽暗。

——《云边有个小卖部》

December 11, 2018

Rust 0x000 更好的 IDE 配置

这段时间一直忙于折腾 Rust,自从 Rust 2018 Edition 出来之后,一个很明显的感受就是写起来更加符合一个现代化编程语言的样子,当然也有可能是我的水平太低了,还不足以体验到 Rust 那种非人类的写法和特性。

这一系列文章会是我记录 Rust 学习路程的文章,那么自然而然地就是从环境配置开始了。

PS: 这一系列的文章都是以 MacOS 为基础,不会过多涉及 自编译 Rust、环境折腾等等内容,更加注重在如何高效地进行 Rust 开发和 Rust学习技巧。

July 12, 2018

自制 Web 框架的那些事儿

不想造轮子的程序员不是一个好码农。 —— 鲁迅

February 21, 2018

浅谈 Web 用户验证的几种方式

这片文章试图介绍清楚网站前端与后端之间数据交流时用到的技术,诸如 Session,Cookies,Token,Jwt 等等;同时解释清楚几个初学者容易混淆的地方。

December 29, 2017

2017 个人总结

鲁迅说过:"Sometimes you need to leave things behind to move forward"

这一年下来,整个过程就是这样的情况。放弃了一些东西,努力了一些东西。

November 28, 2017

用 Webpack 和 React 搭建一个适用于 Chrome Extension 的脚手架

做为一个不称职的前端设计师,对于前端的框架,尤其是各式各样的 JavaScript 框架,我都是习惯使用官方自带的 CLI 工具来搭建脚手架的。因为在混乱的前端世界中,BabelWebpack 的配置不是一般的麻烦。而且我对于前端的学习就是冲着写 Side Project 去的,所以效率对我来多很重要。

我选择的前端框架是 React + Redux,同时也有一个很好用的 CLI 工具来初始化 React 项目:create-react-app。对于像我这样的懒人来说,这确实很好用,但同时也有不少缺点。

我是一个勤勤恳恳的 Python 工程师,所以使用装饰器是我的日常,同时 JavaScript 在 ES7 的 Proposal 中也有类似的装饰器提议,那么使用装饰器肯定是必不可少的了。Create-Reat-App 的最大问题就在于不支持装饰器

August 27, 2017

在 HongKong 的那些天那些事

终于忙完了,有了闲空可以写一写那些天在 HongKong 遇到的一些人,一些事。

June 21, 2017

关于 HTTP OPTIONS

本文参考了两篇文章:

首先 OPTIONS 方法不应该像 GET, POST, PUT 等方法一样返回内容,它返回的应该就只有Header。

OPTIONS 的功能基本上只有两个:

  • 在普通访问中,它会返回同 URL 中允许访问的 METHODS
  • 在跨域访问 (CORS) 中,返回对应的原站 (Origin) 能访问的METHODS

May 25, 2017

Nougat(Misuzu) 的进展和改变

Misuzu 这个名字被人吐槽了很久,不知道怎么读,也不知道什么意思。所以就改成了 Nougat 这个名字,意为牛轧糖。

May 19, 2017

一场诡异的梦

终于放了很长的一段假期后,我重新回到了学校。明明来这学校很久了,可是我还是无法记住整个学校的所有路径。甚至我已经忘记了这段假期放假的理由。

我的学校坐落于一个偏僻的地方,旁边一栋其余的建筑物都没有。整个学校在天空看起来就像一个巨大的堡垒,在其周围是一些泥土小路,少有的几条沥青公路,并不能见到任何高架公路。其余地方均是被黄图覆盖的大地。

April 19, 2017

Misuzu 偏执的 WEB 框架

我是一个不折不扣的偏执狂,所以我认为所谓的产品就应该是为了特定的人群而服务的。这同样适用于 WEB 框架。

现在 Python 中的三大 WEB 框架(Flask, Tornado, Django) 都属于通用型框架,并不存在一个为 API ,尤其是 REST API 设计的框架。这也是 Misuzu 被创建的原因之一。

February 08, 2017

Python Web 从入门到放弃:Flask or Tornado

Python Web 这个领域一直都处于不温不火的情况,但是因为 Python 的易上手性,导致了一部分人也在坚持着这一个领域。 Python Web 框架主要有: Django、Flask、Tornado。

这三大党派都有自己坚持的理由:

  • Django Full Stack 式的开发模式,开发者查看官方文档即可实现大部分网站的大部分功能。
  • Flask Minimal 的框架,框架内部只实现了基础功能。Extensionable 的设计,让你的绝大部分功能都可以通过其他开发者完成的 Extension 来实现。
  • Tornado 三者中唯一一个异步框架,Web Framework 和 HTTPClient 的结合,同时也是一个简约的设计。

January 06, 2017

Rust Web初试

Rust 是最近中意的一门语言。相比于 C 和 C++,我更加喜欢 Rust 的语法。

奈何 Rust 的学习曲线太陡了,一直都只能在入门阶段徘徊,没能深入了解 Rust。 个人感觉最大的问题在于没能搞懂 Rust 的所有权、引用借用和生命周期三个方面。

因此,我尝试着用 Rust 来进行 Web 开发,从而加深对 Rust 语法的了解。

December 19, 2016

Python args 解析库 click

![click][1]

前段时间,需要用 Python 来写一个 CLI 程序的时候,只能找到比较好的命令行参数解析库 getopt 和 argparse。可是这两个库都不太 Pythonistic。

私以为 Python 最大的亮点/语法糖就是在于装饰器的优雅,一个好的 Python 库必然有很好的装饰器使用。

December 05, 2016

山寨红色 iPhone 5S

![][1]

突发奇想,买了一个祖国版 iPhone 5S ,这个红色是不是很好看呢。

November 25, 2016

如何正确的部署 Flask 项目

系统 Python 设置

由于每个 Linux 发行版的内置 Python 都不太一样,而且为了避免你的项目在不同的 Python 版本下出现各种奇怪问题。

比如,requests 库在 python 2.7.5 的环境下访问 HTTPS 网站会出现 SNI 的问题,导致访问失败。

所以我们需要使用 pyenvvirtualenv

注:强烈不建议直接更新系统里面的 Python ,否则你会出现各种各样的奇怪问题

August 21, 2016

一人孤独,两份寂寥

![lonely][1]

大概是因为这篇文章 这几天累得我想自杀 引起了我的思绪,或者早就预谋已久。

孤独就是一份毒品,能让你上瘾,亦能杀死你。

那篇文章是一个996的程序员发出来的。回复的人几乎都是在劝楼主换工作、对自己好一点别那么拼。朝九晚五,看似很合理也很常见的工作时间,在程序员圈子基本不可能见到。996即是指朝九晚九六个工作日,甚者9107。

June 25, 2016

HOOK机制浅谈与实现

HOOK机制最常见的地方就是在 windows 系统里面。你可以通过 HOOKS 来监控键盘输入、鼠标点击等等。那到底什么是 HOOK 机制呢?用人话讲就是“允许在特定的行为前后添加自定义行为”

# before doing
do something...
# after doing

June 25, 2016

Guys, you are not the center of the world.

标题用英语的原因在于,用中文讲相当不雅。

这篇文章可能会引起你的不适,适当时候可以选择略过。

有些时候,你真的很难理解你身边的某些人的所做。所以他们会令你十分难受,以至心情十分不好。我不懂,真的想不明白。

June 04, 2016

人,怎么都要留下点什么,不是嘛?

那个谁谁谁说过,当你回想起某年某天某月的时候,没有可以证明的存在谁能说不是在做梦呢?

或许并没有谁谁谁说过这句话;或许这个谁谁谁也只存在于我的梦里;或许这句话也是出自我口。

谁来证明这一切,None can do it. 薛定谔的猫这般。


写不下去了,没思路!!

March 15, 2016

我有5毛,你能卖我一碗鸡汤吗?

“你虽平凡,但每个人都有一部属于自己的传记” —— 某个我听说过的人

我?不知道谁来的。一般别人叫我都是那个谁。不突出、没专长、没特色就是我的特点。我只是芸芸众生中的一个普通的存在。

February 22, 2016

This will be the day we've waited for

![RWBY][1]

This will be the day we've waited for This will be the day we open up the door

这两句话是最近比较迷上的动漫 RWBY 里面OP的头两句。感觉蛮不错的,所以就被引用来了。

January 26, 2016

抓不惯的笔,写不出的字

高中那些年,有幸进入了一家不错的高中,地域也很偏僻,能够安静地认真读一读书。也是在那个地方,自己真正地爱上了文字。

那里的宿舍堪称豪华,几乎可以称得上是学生宿舍的最高标准。自己唯独最中意的一点便是上床下铺的设计。还记得我们(那些舍友死党)把差不多干的衣服往床边一挂,人往里面一坐,开盏台灯,就可以奋斗到天亮。当然我很少那么勤奋,像我那么懒的人至多躲在里面玩玩手机,写写情书罢。可惜最后那情书还是只有自己看到。

我喜欢的,是一个人躲在里面自己的空间。也真是这样,我逐渐喜欢上了写日记。

November 26, 2015

要么孤独,要么平庸

秋风起,秋风落,便是一年;睁眼,闭眼,便是一天。时间消逝之快,我们很多时候难以想象,只有事后回想,才知晓。

有人说过,人的一生大概只有1000个月的时间。如果我们试图画一个表去记录这1000个月,每过一个月就画去一个,这样就可以感受到时间的逝去。

July 14, 2015

[译文]如何使用Flask部署大型应用?

原文地址: https://github.com/mitsuhiko/flask/wiki/Large-app-how-to

译者:本译文已经违背了原文的意图,请勿加以转载。此文仅用于个人使用。

这篇文章并不是官方的!它包含了很多非官方资源的建议并且没有通过一系列的测试(审查)。这里描述的写法可能很有用,但是同时它也可能很危险。请记住,不要在本文档添加任何附加信息。或者,引用在你的网站或者博客。这篇文章之所以保存,是因为很多StackOverflow答案指向了这里

June 07, 2015

基于证书权限的电脑应用商场

现在,电脑应用的流氓推广越来越严重,因此,出现了用删除百毒证书和数字公司证书来防止应用的恶意安装。

那么基于这个条件,我们可以设想出一个很理想的应用商场。

先把电脑的所有证书删了,意味着,所有应用都不能通过自行安装的形式入侵到你的电脑。

然后电脑应用需要在应用商场上面做登记,领取应用标识码(应用ID)

在确认安装的时候,应用商场就会往你的电脑里面写入一个一次性的证书(不知道现在的OpenSSL能不能做到这点,不然又要自己去开坑了)。

有了这个一次性的证书,应用就可以安装,安装完之后就自动销毁。

May 30, 2015

如果,哭可以解决问题

我们的出生就被称为了“呱呱坠地”,说明哭是我们与生俱来的。不需要谁来教,谁也教不了。

然后,这么一个与生俱来的能力,却被冠上了小孩专属的称号。摔倒了,哭一下,等爸妈来安慰自己;刮伤了,哭一下,等爸妈来吹吹伤口。这些温馨而和谐的画面,永远都是以小孩为主角。

长大了,坚强了。坚强,一个自欺欺人的词,没有人愿意选择,或者说喜欢,受伤了不需要人安慰就自己当作什么事都没发生;没有人喜欢眼泪在眼眶里打滚就要留下来了,却只能默默咬紧嘴唇,忍住哭声。

April 20, 2015

20150420 V2EX备案日

关于V2EX,我去那里差不多一年了。V2EX,一个创意工作者的论坛。

我很喜欢那里的氛围,因为它不像大部分国内论坛那样,全都是水贴。在V2EX,我能找到很多很有想法的人,也能看到其他人很奇妙很神奇的想法。这样十分享受的氛围,使我基本每天都在刷V2EX,这也是我手机除了用于通讯以外最大的用处了。

不知道什么时候开始,C大的ShadowSocks在V2EX里面流行了起来,让V2EX涌入了很多销售SS的用户,小白也慢慢增多。

April 18, 2015

新的博客

之前的那个域名不小心就没有续费成功。

所以就像,既然都过去了,那还不如重新开始。

之前的那些文章也不要算了,部分看着也还揪心。

这个博客存在的意义就是在 简约记 还没有集成博客功能的时候用于记录自己的文档吧。