昨晚做了一个令人痛心疾首的操作,rm -rf something
,把我个人电脑里的重要文件夹给删掉了,懵逼了半天才缓过来。还好是个人文件,不对公司造成影响。这件事也让我意识到 rm -rf
确实是个高风险操作,文件备份也是重中之重。
为了规避这个风险操作,我决定用 trash
替代 rm
,这样文件就不会直接被删除,而是进入废纸篓。
小小的世界,大大的梦想
昨晚做了一个令人痛心疾首的操作,rm -rf something
,把我个人电脑里的重要文件夹给删掉了,懵逼了半天才缓过来。还好是个人文件,不对公司造成影响。这件事也让我意识到 rm -rf
确实是个高风险操作,文件备份也是重中之重。
为了规避这个风险操作,我决定用 trash
替代 rm
,这样文件就不会直接被删除,而是进入废纸篓。
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
为什么传统的HTTP协议不能做到WebSocket实现的功能?这是因为HTTP协议是一个请求-响应协议,请求必须先由浏览器发给服务器,服务器才能响应这个请求,再把数据发送给浏览器。换句话说,浏览器不主动请求,服务器是没法主动发数据给浏览器的。
用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;
授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权
wx.login
获取 code
(用户登录凭证,有效期五分钟,使用一次后实效)code
,调用 code2Session
,获取用户的 openid
(用户在当前应用的唯一标识)、unionid
(用户在开发平台的唯一标识) session_key
(会话秘钥是对用户数据进行 加密签名 的秘钥,在获取用户信息时会用到) 等信息。为了安全,服务器不应该把会话秘钥下发到小程序,也不应该对外提供这个秘钥unionid
openid
自定义服务端登录态前端在调用微信提供的分享、拍照、扫一扫等功能时需要到后台获取配置,主要是签名(signature)。Node 开发可以用朴灵大佬的SDK——co-wechat-api。
到微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。前提是该域名的项目目录下有微信提供的校验文件。如果需要本地调试或者测试环境调试,可以把IP白名单也顺便配置一下。
“我呢,”雪穗继续说,“从来就没有生活在太阳底下。”
“我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。你明白吗?我从来没有太阳,所以不害怕失去。” ——《白夜行》东野圭吾。
开头是一宗离奇的命案,调查以无任何结果告终。然后开始分别叙述两位主人公的生活。从十一岁到初中到高中到成人,时间跨度长达十九年。每一件事单独看都是一个精彩的故事,谁知道最后所有的事情都会串起来成为解答开头命案的线索。本来以为是两个互不相关的两个人,作者在分别叙述他们的故事,看起来毫无相关性。看到最后才知道两个人始终在一起,策划着每一个意外。
花了一天时间翻完了《码农翻身》(跳过了Java部分)。生动有趣的书看起来就是舒服,竟有引人入胜、手不释卷的感觉,一不小心就翻完了。是一本很好的入门科普读物,开阔技术视野。
下面是书中的摘抄和笔记
TCP/IP之大明内阁
TCP/IP之蓟辽督师
TCP/IP 之 大明王朝邮差
发送的信息被拆分成小包裹,编上序号,打乱顺序后发送,由服务端发送,客户端接收,接收后返回确认接收信息。如果一定时间内没有收到确认信息,则代表信息丢失(可能是发出的包裹丢失,也可能是返回的确认信息丢失),重新发送该包裹。全部接收完成后按照序号重新组装成完整信息。