文章列表
江源 ,非常让人头疼…… 于 5个月前发表 3640 2 1
原文 [http://jiangyuan.me/blog/2016/09/24/vscode/] 这是《小江品评编辑器》系列的开篇,当然想开个好头。 我 2012 年开始接触前端,从最开始的记事本,到 Dreamweaver ,到 notepad++ ,到风头一时无两的 Sublime Text ,到现在社区庞大的 Atom ,都使用过很长一段时间。 期间也抽空玩耍过 Vim 、 Emac 和 Brackets 等等,觉得智商不够浅尝辄止。 当然也不会放过 IDE , Eclispe 、 NetBeans 、 Aptana 都试过,现在专注 jetbrains 三十年、 Webstorm 脑残粉……别胡思乱想了,我买了 license 。 扯这么多就是为了证明, 品评编辑器 ,我还真有这个资格。 今天要说的编辑器不是 Sublime ,她很棒,但更新太缓慢,在这个各种技术井喷的时代,再不奋起直追,只会被淘汰。 也不是 Atom ,他一样棒,意外的是启动时间要一个世纪。 Webstorm 当然是压轴登场。 今天聊聊 VS Code ,上镇楼图!
5个月前
工具建设
刘志龙 于 2个月前发表 460 0 0
最近折腾脚手架相关的一些事情。说到脚手架,不得不谈的就是 yeoman 了。 是什么 yeoman 是一个脚手架生成工具。 yeoman generator 则是 yeoman 的精髓所在。 从我的理解来看。 yeoman 就是一个工具外壳,它定制了如何调用 generator ,给 generator 提供了运行环境。 yeoman generator 则是解耦出来的核心部分,负责完成一个脚手架应该做的事。 线上已经有很多 generator ,可以满足我们一大波需求。不过要做到真正灵活,完全符合自己的需求、业务中的需要就要自己自定义 generator 了。 怎么做 yeoman 的强大之处在于它提供了一套非常强大的编写自定义 generator 的 API ,而且上手非常容易。只要按照特定的约束,很快就可以定制一套自己的 generator 。话不多说,马上一起来看看怎么做。 目录结构 |- app |- index.js |- template |- 模板文件 |- package.json (主入口为app/index.js)
2个月前
工具建设
json 于 2个月前发表 357 1 0
WHISTLE介绍 whistle是一款用Node实现的跨平台的Web调试代理工具,支持查看修改http(s)、Websocket连接的请求和响应内容。IMWEB团队avenwu作品。github地址: https://github.com/avwo/whistle [https://github.com/avwo/whistle] WHISTLE安装启动 1、安装whistle npm install -g whistle 2、 启动whistle w2 start // 启动whistle w2 restart // 重启whsitle w2 run // 调试模式启动whistle 3、 在浏览器中访问 (1)域名访问 http://local.whistlejs.com/ [http://local.whistlejs.com/] (2)通过ip+端口来访问,例如: http://127.0.0.1:8899 [http://127.0.0.1:8899] WHISTLE插件开发
2个月前
工具建设
kinkahuang 于 2个月前发表 397 0 0
MQTT是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQTT是专门针对物联网开发的轻量级传输协议。MQTT协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景。 而我却拿MQTT来做实时日志系统。 主要基于这几个点,轻量,实现简单,支持QoS,支持TLS,是个发布/订阅协议,支持消息推送。 其实公司日志系统那么多,像ULS,nlog什么的,为什么又又又要造轮子呀?因为要么接入麻烦,要么语言不支持,要么需要资源,要么支持不到位,要么丢消息等。而我的需求背景是,有几台服务器,目前的日志是打印到本地文件中,每次要查日志都要登录运营机器,而且还要登录两台,不大方便。因此,我想要的就是,只在一处地方统一实时查看所有日志,而且对现有系统最小的改动。 而了解到MQTT也实在是偶然,在一个ruff的群里有人基于MQTT对物联设备做实时控制,而线上的机器完全也可以当作一个物联设备,我用MQTT来做远程控制,控制内容就是把写到文件的日志直接转发到中心服务器就可以了。架构图长这样子:
2个月前
工具建设
ShiJianwen 于 2个月前发表 296 0 0
hexo 是一个优秀的静态博客工具,唯一的不足就是源文件无法同步,让人几乎只能在一台电脑上写博客,为了解决这个问题,我们可以使用 Github 来管理我们的 hexo 源文件,具体思路就是:在我们博客的远程仓库中新建一个分支,用这个分支来存储博客的源文件,这样我们每次在更新博客并部署之后可以顺手多执行两条命令将源文件同步到远程分支中去,不需要做任何环境切换的操作,还可以将部署和同步操作写成一个命令脚本,自动执行以上命令。建立同步的过程很简单: 初始化版本库&建立仓库关联(已与远程仓库关联的可忽略这一步) 一般根据 hexo 教程一步步建立起来的博客都没有跟自己的远程仓库建立关联,查看是否关联的方法是输入 git remote 看是否有关联的远程仓库: [http://7tszky.com1.z0.glb.clouddn.com/FtxueLTZmK2wcld6Id7DAu6-24k_]
2个月前
工具建设
jaychen 于 3个月前发表 819 0 0
[http://7tszky.com1.z0.glb.clouddn.com/Flx3rVQjMqZJtBsPdMtS1xGSCx-H] YARN( HTTPS://GITHUB.COM/YARNPKG/YARN [HTTPS://GITHUB.COM/YARNPKG/YARN] ) facebook发布的新一代包管理工具,旨在解决以往使用npm作为包管理会遇到的一些问题。从其官方介绍可以看到其重点强调的3个点:快、可靠、安全。 YARN拥有以下6个特性: * 离线模式: 一次安装,永久使用,无需下载 * 依赖确定性:安装依赖锁定,保证一致性 * 更好的网络性能:下载包,优化网络请求,最大限度提高网络利用率 * 多注册来源处理:不管依赖包被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装(npm/bower), 防止出现混乱不一致。 * 网络弹性处理: 安装依赖时,不会因为某个单次网络请求的失败导致整个安装挂掉。当请求失败时会进行自动重试。
3个月前
工具建设
江源 ,非常让人头疼…… 于 4个月前发表 589 2 0
原文 [http://jiangyuan.me/blog/2016/11/01/vscode-autocomplete/] vscode 1.6.x 发布了,有一系列的新特性,我个人比较开心见到 ts/js 语法着色 [https://code.visualstudio.com/updates#_preview-typescript-javascript-grammar] 有提升,我还专门搞了个 issue [https://github.com/Microsoft/vscode/issues/12362] 吐槽过这个。 当然今天不是扯 vscode 的更新节奏很快的梗,而是扒一扒它的 自动完成 , 上一篇文章 [http://jiangyuan.me/blog/2016/09/24/vscode/] 已经介绍过, 自动完成 和 typings 紧密相关。 typings 官网 [https://github.com/typings/typings] 描述: The TypeScript Definition Manager.
4个月前
工具建设
赛冷思 ,爱编程,更爱前端。 于 5个月前发表 478 0 0
近来重装了一下wamp,索性记录一下,wamp安装完后,我的常用配置。首先,肯定要修改默认的空密码;其次,便要配置虚拟站点,因为当项目多的时候,每个项目分配成一个站点,对于开发来说,很方便管理。其实网上已有很多这方面的文章,但大部分说的都不够详细,有的只能在www目录内,所以借着这次重装wamp的机会整理一下笔记,分享一下,已留后用 ! 修改WAMP空密码 启动wamp后,左键点击wamp图标->MySQL->MySQL控制台,然后会提示让输入密码,安装完后,密码是空的,所以直接回车便可进入MySQL,接下来具体操作如下: use mysql;//选择数据库 updateusersetpassword=PASSWORD('新密码') whereuser='root';//修改密码 flushprivileges;//刷新权限表,不然不会生效 最后输入quit;退出,然后再重新进来,提示输入密码,再直接回车就进不来了,而输入刚才修改的密码便可。 配置虚拟站点 首先需要开启虚拟模块,然后还要开启允许在www目录之外的目录设置站点的权限。
5个月前
工具建设
杨文坚 ,首席吹牛工程师 于 6个月前发表 949 0 0
Standard Component 项目需要一个基于 AST 的 Javascript Transformer 编写工具,用于从一种类型的组件 transform 到 Standard Component。本来,想用著名的 esprima,来编写相应工具。但后来发现,Facebook 已经开发了 jscodeshift,重造一个轮子明显是多余的。 所以,jscodeshift 是什么鬼? jscodeshift 是一个 Javscript Codemod 工具,官方对 Codemod 的解释是: Codemod is a tool/library to assist you with large-scale codebase refactors that can be partially automated but still require human oversight and occasional intervention. jscodeshift 也是基于 esprima 的,相比 esprima 及 estools 工具集,其通过 path 可以很容易的在 AST 上遍历
6个月前
工具建设
刘志龙 于 7个月前发表 754 0 0
都说Vim是编辑器之神,一直也觉得vim的编码非常酷炫~ 但是作为一个编辑器之神, 却一直保持着一个非常高傲的姿态,不像打开一个记事本,一个智商正常的人瞬间就能明白记事本怎么用,但是打开vim就算是天才自己慢慢琢磨估计一会。 那么,vim学习曲线这么大,我们为啥还要用vim? 为啥要玩VIM * 酷!Vim的前身Vi的作者Bill Joy和Emacs的作者Richard Stallman 都是那个时代著名的黑客,想不想像黑客一样去编程? * 使用sublime或其他大时候有没有发现自己的右手花了大量时间在键盘和鼠标间移动,这个过程其实是非常浪费时间和容易让手疲惫的过程。 * 领悟到Vim的精髓的时候会发现Vim非常高效,只有你想不到,没有Vim做不到。 * 如果你用macbook,作为一个前端基本必备的两屏是:浏览器和终端。而Vim跟终端完美的融合了。 模式 * 命令行模式:想想普通编辑器的复制粘贴,命令行模式可以理解为一个快速运行各种命令的模式,按 esc 键进入。 * 插入模式:这是大家最熟悉的了,这时的Vim相当于普通编辑器,按 i 进入。
7个月前
工具建设
江源 ,非常让人头疼…… 于 8个月前发表 783 0 0
原文 [http://jiangyuan.me/blog/2016/06/28/bash-for-and-condition/] 条件语句和循环可以统称为流程控制,是一门语言最基础的部分。 bash 的流程控制和大家熟悉的语言非常类似,所以这块上手应该很快。 条件语句 条件这块建议先去瞧瞧《 bash 的 Test [http://jiangyuan.me/blog/2016/05/30/bash-test/] 》。 bash 中的条件语句,基础就是 Test 。 IF 先来个实例: x=5; if [ $x = 5 ]; thenecho'x equals 5.'; elseecho'x does not equal 5'; fi# 输出: x equals 5. 和我们熟悉的语言非常相似,不妨抽象一下: if commands; then commands [elif commands; then commands...] [else commands] fi
8个月前
工具建设
江源 ,非常让人头疼…… 于 9个月前发表 1085 0 0
原文 [http://jiangyuan.me/blog/2016/05/30/bash-test/] bash 中的 test 确实是一个让初学者迷糊的概念,但是理解了之后,发现它并没有深奥的地方。 实际场景 export NVM_DIR="/Users/jero/.nvm" [ -s"$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"# This loads nvm 上面是我 ~/.zshrc 文件中的一段,作用是引入 nvm 脚本。其中中括号的内容就是一个 测试 。 再看一段: if [ "$(uname)" == 'Darwin' ]; then OS='Mac'elif [ "$(expr substr $(uname -s) 1 5)" == 'Linux' ]; then OS='Linux'elseecho"Your platform ($(uname -a)) is not supported."exit1fi
9个月前
工具建设