MacOS 上执行 sed 命令的坑
sed 命令和 awk 一样,非常强大,但强大的命令就会有局限性,学习也难,殊不知很多人宁愿写个熟悉的 Python 脚本也比这个快,正是如此,使用频次相对较低,这不在 MacOS 上一使用就发现了坑,报了很多奇奇怪怪的错误,要是没有网络,怎么能找得到问题所在呢?所以,还是网络好。要交流,多上网。sed: 1: : extra characters at the end of l command se...
米家云智能终极实践
国内出名的平台有很多,比如涂鸦智能,米家APP 等,我最熟悉的就是米家。本篇就以当下米家提供给用户的全部功能实现一个目前能实现的最复杂最合理的场景。我家实现了全屋智能后光米家 APP 设备数就达 63 台 (现在 75 台)。米家平台是云智能,目前速度还算稳定,可能是要实现更复杂的功能云端有压力,但我觉得米家不争气,多少年过去了,提供给用户的编程没有改进。期间除了用户体验之外,有两个必须要解决的问题,...
学习 Docker 的一些感悟
排的时候就没有优势了啊!!!技术界解决问题的方式永远都是从外向里面的,比如说系统性能问题,人家从外在系统层解决;比如说开发环境难配置问题,人家还是从外在解决,搞出了一个容器!!!事实上,任何事物,只要熟悉,就不麻烦,你总是搞出新玩意儿出来,学习成本和各种问题各种坑,Docker 太依赖官方的软件包维护和 Docker hub 了,这样不是更加危险了吗?而如果一个人解决问题的方式是由内向外,那我的软件优...
读 Wordpress 有感
人家公司的寿命也许不到两年,你想多了!人生短短几十年,已经够长啦,代码的寿命几何?编码时间一长,项目经历过了,代码写多了,就越来越讨厌面向对象的形式主义没有意义,不仅耗费资源,并且真的没什么作用。越是熟悉的人儿越不喜欢面向对象。这就是为什么 golang 的大神们设计者抛弃了 面向对象 编程。对象可以有,但是不需要那么个玩意儿。...
长城宽带篡改网页弹广告恶劣行径史无前例
是网络运营商加上去的,而当时我用的就是长城宽带。 上海的一些房东为了图便宜,办的宽带就是长宽。我现在租的房子也是长宽,回家偶尔发现自己的站有广告,百度的首页也会有广告。关于右下角广告,一般对网络知识不熟悉的人,还以为是这个网站弹出来的。当你在百度首页看到右下角广告的时候,你是不是会产生怀疑,难道百度也开始在首页做广告了吗?我个人认为,运营商篡改网页弹广告是非常非常缺德的事情,工信部不管,相关部门不管,...
谈谈项目开发过程中GIT合并分支
团队项目开发过程中,如果 GIT 的使用不统一,不规范,或者某些成员对 GIT 的操作不太熟悉,导致分支的合并特别混乱,使用 --graph 参数查看或者后期代码审查都是非常不友好的。我曾经到过的一家公司,强制所有的合并都使用 pull request,并且强制所有的 pull request 都必须 rebase 成一个 commit。现在想想,觉得他们很傻,真的很傻,如果一个公司对于技术只有偏执,...
使用GIT BASH管理多个远程代码库
客户端中,使用 eval `ssh-agent` (注意是数据库字段符号,也就是键盘数字 1 左边的那个按键)命令进入 SSH 模式,打开秘钥管理器,然后使用 ssh-add 命令添加私钥。很多不太熟悉的人往往因为没有执行 ssh-agent 而导致不能使用 ssh 命令连接到服务器。 国内的 GIT 托管服务 GITOSC 不能使用 SSH 协议来进行推送代码功能,只能用来拉取项目更新,官方建议使...
一个人的圣诞必听歌曲《Last Christmas》
《Last Christmas》这首歌是乔治·迈克尔(George Michael)在威猛乐队(Wham!)时所创作的。这首歌在大街上经常能够听到,被很多的艺人翻唱过。我个人比较熟悉美国的一位歌手 Ashley Tisdale 翻唱的,可能是第一次听到的就是她唱的版本,亦或则是听她唱的比较多,总之就是比较喜欢她唱的那个版本。 去年的这个时候,我经常去浦东陆家嘴浦城路的图书馆自习,经过八佰伴的时候偶尔...
Ajax跨域原理JQuery之Jsonp使用剖析
有关Ajax技术,对于我们这些经常在互联网打滚的人来说,已经是再熟悉不过了。关于Ajax原理,之前我也研究过,这里顺带解说一番。JavaScript是一种基于事件的单线程执行脚本语言,要实现Ajax通信,必须先实例化 XMLHttpRequest 对象,然后对该对象的 onreadystatechange 注册事件,然后再执行 open 和 send 方法。一般来说,实现简单的Ajax请求,我们只需...
在JavaScript中使用操作符void返回undefined
在 JavaScript 函数中返回 undefined 的同时执行一个表达式,可以使用 void 关键字。大家比较熟悉的 void 的用法一般都是在链接的 href 属性中,可以屏蔽<a>标签的默认行为。请看下面的代码片段: <script> function(t){ return o?t():void i.push(t) } </script> 在 JavaScript 中使用 void 操作任...