优客李李

「给你的生活加点阳光!」

用React, Flask和SocketIO搭建在线聊天室(四)

这一篇默认你已经本身自带Python技能,或者按照上一篇的描述,实际操作过“Y分钟入门Python”了。否则本文看起来会很吃力。 安装Flask 打开Flask官网。简单浏览一下目录,知道Flask是Python下的一个框架(类似Vue是JavaScript的一个框架)即可。对它感兴趣的可以多研究研究文档,但是别忘了搭建在线聊天室才是首要目标。 安装Flask。如果你更...

用React, Flask和SocketIO搭建在线聊天室(三)

这篇文章主要介绍一下我的开发环境和参考资料,以及前期筹备过程。 开发环境 操作系统 macOS Sierra 10.12.2 Beta (不同操作系统会在不同阶段面临不同的坑) 编辑器 Sublime Text 3 终端 iTerm2 + Oh My Zsh + Homebrew (这一套东西在做这个项目的时候弥补了服务器端的很大不足) 浏览器(均为最新版) C...

用React, Flask和SocketIO搭建在线聊天室(二)

这篇文章主要是关于Chat Server的GIF图,呈现各个状态下的效果,让着急的看官有个大概的印象——觉得有意思的继续关注文章进度,觉得小儿科的也不用在这里耽误时间了。 主界面 输入用户名,回车提交后,可在在线用户列表中找到该用户名。友情提示:Foo/Bar/Baz这几个名字我会经常拿来作为示例。这几个名字在读代码时很常用,中文简单翻译为“甲乙丙”即可。感兴趣的同学可以Goog...

用React, Flask和SocketIO搭建在线聊天室(一)

上个月在米国找工作,遇到一家公司,给我发了一个制作在线聊天室的需求文档,说我做完后就可以面试。没有deadline,但他们会根据我的现有状况和学习速度对我评估。过了1个月,我把React,Flask和SocketIO学到手,这个项目做完了。先不管面试什么时候进行,我在这里跟大家分享一下我的整个学习历程。由于这更是我对自己这个项目对回顾,我会尽量写得比较细。如果喜欢简单直接,就去我的Gi...

怎么把博客文章从WordPress搬到jekyll

由于没有深究WordPress,我一直没对我的个人WordPress博客优化过。最近找到了一个从WordPress搬到jekyll的方法,在这里总结一下。 为什么搬家? WordPress是全球知名的博客框架,甚至已经超脱了博客范畴——无数个人网站、企业网站在丰富的WordPress插件带来的便利下,通过WordPress真正做到了低成本建站。截止2016年10月1日,使用Wor...

Uber的招聘要求读后感

今天在网上搜工作机会,找到了Uber官网。有一个招聘广告(可能很快网址就过期了)讲了他们对全栈工程师的要求,看完当然觉得自己能力还不够,于是从我这里就把自己拒了。不过他们写的内容很中肯,我认为这确实是一个程序猿应有的素质。趁着这几天加速成长,我决定把它们好好解读一下,然后向这些能力迈进。 这篇文章的框架是根据Uber招聘要求展开的,一共8条,每条的结构都是“原文-翻译-解读”。翻译...

Safari对Date.parse()的需求更严格

最近应老婆的需求,做了一个炒鸡简单的倒计时网页。附上源码。没什么功能,连deadline都需要从后台写。不过至少能开始一个百天计划了。以后酌情优化。 但是使用的时候,大多数浏览器都木有问题,只有Safari默默地罢工了。本应该显示日期、时、分、秒的地方,它统统显示为NaN(如下图)。 [caption id=”” align=”aligncenter” width=”689”] 错误截图...

牛刀小试——Python 2.7下的rot13编码与解码

rot13是什么?它是一种很好玩的编码技术。可以参考[wiki](https://en.wikipedia.org/wiki/ROT13)。其实我更想叫它“加密”,不过因为它太容易破解了,所以我还是自己这么叫它吧。 原理 rot13,展开说就是“rotate by 13 places”,也就是向后移动13个位置。我们都知道,英文字母一共有26个。如果你把它们想象成一个圈圈,让a和z手拉着...

GET和POST的区别

GET和POST之前一直没仔细研究过,总是不明白它们到底有啥不同。这次通过学习,我认为GET相当于“读”(从服务器读数据),POST相当于“写”(把数据写入服务器)。总结一下它们的不同之处: GET: 参数在URL中呈现; 常用来从服务器拉取数据; 有最大URL长度限制; 可以缓存; 不应该改...

在Windows 10上运行Google APP Engine

Google各方面都更新得很快。Udacity上的视频也不算老,但是已经跟不上Google的更新速度了。举例来说,前段时间在学习Chrome Dev Tools的时候,由于Google的更新,我必须放弃Udacity视频,去查阅官方文档和StackOverflow。 这次在学习Web Development课程,目的是搭建一个功能完整的博客——这就意味着需要后台介入了——Python,数据...