加快你的 Windows 运行速度

公司的网络速度被不少同事们诟病。当然大部分人都不是搞技术的,一般人发现电脑卡顿,上网速度卡顿,一股脑全部总结为一句话,网络不好或者电脑不行。

当然实话说,网络的质量确实不算好,尤其是相比于公司刚搬来时候的网络。那时刚办的宽带,网络公司应该也是给了比较好的网络,加上当时候人少,自然上网顺畅。不过这个网络不好的锅,是给网络公司背,还是我们的WiFi路由器背,有待我未来几天进一步验证。先写了这篇非常基础的小文,为小白们从山顶洞人进化为现代人做些微小的贡献(手动+1s),技术人们请走开。

文章会按照电脑清理、电脑使用和网络监控几个模块进行说明。


Laravel 的一些小坑总结

ps: 今天有个小新闻,央行终于对比特币出手了。话说去年今年的新闻真是各种好看各种兴奋。黑天鹅一大波,各种新东西出来。

Laravel 是 Taylor Otwell 开发的一款基于 PHP 语言的 Web 开源框架。由于 Laravel 具备 Rails 敏捷开发等优秀特质,并结合了 PHP 强大的扩展包(Composer)生态与 PHP 开发者广大的受众群,让 Laravel 在发布之后的短短几年时间得到了极其迅猛的发展。

通过 Google Trends 提供的趋势图可以看出,Laravel 框架在过去十年,其增长速度在各类 PHP 框架中都是有史以来最快的,这也从正面直接反映出了 Laravel 的强大,以及其未来非常可观的发展前景。

图1

使用Laravel也有1年多的时间了。偶尔会出现点小问题,也总算是解决了。今后会慢慢总结一些。现在先说说昨天晚上遇到的坑。如果你看到这篇文章并且很巧的知道下文的一些坑的原理的话,欢迎留言或者邮件告诉我。


Slack/Hubot

想拥有一个自己的hubot也有一段时间了。

虽然很早就开始用slack,都是用来配合ifttt耍的,还不知道这么一个大杀器。Slack 是聊天群组 + 大规模工具集成 + 文件整合 + 统一搜索。截至2014年底,Slack 已经整合了电子邮件、短信、Google Drives、Twitter、Trello、Asana、GitHub 等 65 种工具和服务,把可以把各种碎片化的企业沟通和协作集中到一起。

后来订阅了湾区日报。看了一些文章后才发现的,确实是个好东西。工作忙里偷闲,按照slack API里 Slack Developer Kit for Hubot 的内容一步一步走来。目前对里面的一些产品插件都还不了解,先记录下来,以后再慢慢补充了。

Hubot是由Github开发的开源聊天机器人,基于Node.js采用CoffeeScript编写。

可以借助Hubot开发Chatbot来自动化的完成想要一切自动化任务,比如:

  • 运维自动化(编译部署代码、重启机器,监控服务器运行情况,自动修复Bug等)
  • 外部服务交互(管理Redmine、集成Jenkins、监视Zabbix等)
  • 定时获取天气预报
  • 随机订餐
  • 聊天机器人等等。

1.安装node和npm环境

可以访问我的gist下载。

chmod a+x NodejsInstall.sh

然后就要经过漫长的等待(我的机器性能一般,大概是1个小时)。 安装完成后,node就安装好了。在安装node的同时,npm也安装到了你的服务器上。通过下面的命令查看node和npm的版本号信息。

node -v
npm -v

由于npm更新的速度会比node更快一些,所以运行下面的命令可以保证你的npm保持最新。

npm install npm@latest -g

2.安装slack/Hubot kit

使用下面的命令快速安装Yeomanhubot 。Yeoman可以辅助我们快速安装hubot。

npm install -g yo generator-hubot

安装好环境后,在我们感兴趣的目录下,可以开始新建我们的hubot项目了。

如果你是以root用户安装的话,记得要给相关的文件夹赋权限。 要不然就会像下面这样。

EACCES: permission denied, open '/root/.config/configstore/insight-yo.json'
You don't have access to this file.

赋予配置文件权限,新建项目:

chmod g+rwx /root /root/.config /root/.config/configstore /root/.npm

mkdir my-awesome-hubot
chmod 777 my-awesome-hubot 
cd my-awesome-hubot
yo hubot --adapter=slack

同时你还需要去hubot页面生成你的机器人API Token。在获得api token之后,你可以运行以下命令跑起来了。

HUBOT_SLACK_TOKEN=xoxb-YOUR-TOKEN-HERE ./bin/hubot --adapter slack

3. 让 hubot 执行 shell 脚本

npm install hubot-script-shellcmd
cp -R node_modules/hubot-script-shellcmd/bash ./

修改一下external-scripts.json,添加上以下模块:hubot-script-shellcmd。如果到此为止,你操作的步骤和我基本一样的话,你的external-scripts.json应该长的像这个样子:

[
  "hubot-diagnostics",
  "hubot-help",
  "hubot-google-images",
  "hubot-google-translate",
  "hubot-pugme",
  "hubot-maps",
  "hubot-rules",
  "hubot-shipit",
  "hubot-script-shellcmd"
]

接下来:

cd bash/handlers

这里面的 helloworld 就是个例子,可以改成自己的脚本。运行的话,如果在群组内,需要@xxx(xxx为机器人的名字,例如hubot)

hubot shellcmd helloworld

如果是私人会话,可以直接回复

shellcmd helloworld

我们可以完成任意想要的脚本,例如下面的脚本将计算CPU的使用率。

#!/bin/bash
top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.1f%%\n", prefix, 100 - v }'

exit 0

将文件命名成cpu,只要运行shellcmd cpu,就可以了。

4. 高级配置

5. 其他开发

参考 hubot 的两个文档 scripting 和 patterns,写的非常详细。下面是个简单的例子,将收到的信息转发到网站。

module.exports = (robot) ->
    robot.listen(
        (message) ->
            message.user.name is "你的Slack用户名" #这里限制只对我的回复做响应
            robot.brain.set 'message', message.rawText
        (response) ->
            req = "data=" + JSON.stringify({
                message: robot.brain.get('message'),
            })  
            robot.http("http://test.com/api") # 改为你自己的接口地址
                .header('Content-Type: application/x-www-form-urlencoded;charset=utf-8')
                .post(req) (err, res, body) ->
                    if err 
                        response.reply "请求接口失败" 
                        robot.emit 'error', err, res 
                        return
                    if res.statusCode isnt 200 
                        response.reply "接口返回非200"
                        return
                    response.send body
    )    

参考资料

参考资料


中华人民共和国网络安全法

快捷链接:《中华人民共和国网络安全法(草案)》

第一章 总则
第二章 网络安全战略、规划与促进
第三章 网络运行安全
第四章 网络信息安全
第五章 监测预警与应急处置
第六章 法律责任
第七章 附则

(2016年11月7日第十二届全国人民代表大会常务委员会第二十四次会议通过)

第一章 总  则

第一条  为了保障网络安全,维护网络空间主权和国家安全、社会公共利益,保护公民、法人和其他组织的合法权益,促进经济社会信息化健康发展,制定本法。
第二条  在中华人民共和国境内建设、运营、维护和使用网络,以及网络安全的监督管理,适用本法。
第三条  国家坚持网络安全与信息化发展并重,遵循积极利用、科学发展、依法管理、确保安全的方针,推进网络基础设施建设和互联互通,鼓励网络技术创新和应用,支持培养网络安全人才,建立健全网络安全保障体系,提高网络安全保护能力。
第四条  国家制定并不断完善网络安全战略,明确保障网络安全的基本要求和主要目标,提出重点领域的网络安全政策、工作任务和措施。
第五条  国家采取措施,监测、防御、处置来源于中华人民共和国境内外的网络安全风险和威胁,保护关键信息基础设施免受攻击、侵入、干扰和破坏,依法惩治网络违法犯罪活动,维护网络空间安全和秩序。
第六条  国家倡导诚实守信、健康文明的网络行为,推动传播社会主义核心价值观,采取措施提高全社会的网络安全意识和水平,形成全社会共同参与促进网络安全的良好环境。
第七条  国家积极开展网络空间治理、网络技术研发和标准制定、打击网络违法犯罪等方面的国际交流与合作,推动构建和平、安全、开放、合作的网络空间,建立多边、民主、透明的网络治理体系。
第八条  国家网信部门负责统筹协调网络安全工作和相关监督管理工作。国务院电信主管部门、公安部门和其他有关机关依照本法和有关法律、行政法规的规定,在各自职责范围内负责网络安全保护和监督管理工作。
县级以上地方人民政府有关部门的网络安全保护和监督管理职责,按照国家有关规定确定。
第九条  网络运营者开展经营和服务活动,必须遵守法律、行政法规,尊重社会公德,遵守商业道德,诚实信用,履行网络安全保护义务,接受政府和社会的监督,承担社会责任。
第十条  建设、运营网络或者通过网络提供服务,应当依照法律、行政法规的规定和国家标准的强制性要求,采取技术措施和其他必要措施,保障网络安全、稳定运行,有效应对网络安全事件,防范网络违法犯罪活动,维护网络数据的完整性、保密性和可用性。
第十一条  网络相关行业组织按照章程,加强行业自律,制定网络安全行为规范,指导会员加强网络安全保护,提高网络安全保护水平,促进行业健康发展。
第十二条  国家保护公民、法人和其他组织依法使用网络的权利,促进网络接入普及,提升网络服务水平,为社会提供安全、便利的网络服务,保障网络信息依法有序自由流动。
任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益,煽动颠覆国家政权、推翻社会主义制度,煽动分裂国家、破坏国家统一,宣扬恐怖主义、极端主义,宣扬民族仇恨、民族歧视,传播暴力、淫秽色情信息,编造、传播虚假信息扰乱经济秩序和社会秩序,以及侵害他人名誉、隐私、知识产权和其他合法权益等活动。
第十三条  国家支持研究开发有利于未成年人健康成长的网络产品和服务,依法惩治利用网络从事危害未成年人身心健康的活动,为未成年人提供安全、健康的网络环境。
第十四条  任何个人和组织有权对危害网络安全的行为向网信、电信、公安等部门举报。收到举报的部门应当及时依法作出处理;不属于本部门职责的,应当及时移送有权处理的部门。
有关部门应当对举报人的相关信息予以保密,保护举报人的合法权益。

Jekyll Windows 环境配置

昨天配好了Mac下的开发环境。记录下一些问题。

安装 Ruby

http://rubyinstaller.org/downloads/

就目前来说,下文的 DevKit 因为仅支持ruby 2.3,所以不要安装高于2.3的版本。

完成后进入“CMD”输入“ruby -v”如显示版本则代表安装成功。

如果Ruby环境变量没有添加,后把安装目录下的 Bin 目录添加到系统Path环境变量即可。

安装 DevKit

DevKit 是一个在 Windows 上帮助简化安装及使用 Ruby C/C++ 扩展如 RDiscount 和 RedCloth 的工具箱。

下载与 Ruby 版本相对应的 DevKit 安装包:http://rubyinstaller.org/downloads/


初始化 Mac 的工作环境

从家里拿来了尘封已久的 Macbook Air,作为个人笔记本在用了。不得不说,对于 Windows 和 Mac 的操作系统之争,我还是更喜欢 Mac。界面优秀,使用的时候静心,不需要考虑太多的事情。工作效率也是比较高。(当然认真学习的话,其实操作系统的影响不大)。

因为是重装的系统,环境是要从零开始配置了。趁着这次机会,再熟悉一下^_^

系统篇

  1. 屏幕四角快捷键。偏好设置 》屏幕保护程序 》触发角。
  2. 触控板。

日常篇

  1. chrome。工作用的 Windows,还是得多平台共用才行。但是耗 CPU 太高了,不太愿意开。毕竟自家浏览器适配一些也是理所应当的。
  2. feedly。 在 iPad/iPhone 上用的是 reeder,按理来说 Mac 上应该也用来着。不过终究抵不过免费啊。况且人家做的也还可以。
  3. QQ/Wechat。在中国离不开这两吧。
  4. Spark。 这个不是大数据的那个 Spark 噢。一个邮件客户端。用了这么多就喜欢这家的。
  5. 网易云音乐。 早期用户一用就用到了现在。
  6. Photoshop。简单修图到专业编辑,都能胜任^_^。
  7. Evernote/Pocket。两家都不错,各种收集资料用。
  8. MindNode。思维导图软件。其他的也没怎么用过,蛮好用的一直用到了现在。
  9. 百度网盘/Dropbox。也算是必备软件吧。
  10. xxx输入法。各有所爱吧。我用的百度输入法。因为手机上用了他们的 miku 皮肤,就一直用到了现在233333
  11. MPV。一个视频播放器。本来以前用的movist,也不错。然后被知乎安利了这个 MPV,可用于看bilibili,并且有弹幕。
  12. Minimalist Markdown Editor。Chrome 的插件,markdown 编辑器。小巧够用。
  13. Aria2。下载神器(据说)。
  14. filezilla。FTP 工具。
  15. iStat Menus 5。系统监控工具。
  16. Bartender 2。系统顶部栏图标收纳工具。
  17. CheatSheet。简单快捷地查找、使用各种程序环境下的快捷键。
  18. Keka解压工具。

1 2 74 75 76 77 78 90 91