文章列表
江源 ,非常让人头疼…… 于 7个月前发表 5477 3 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 ,上镇楼图!
7个月前
工具建设
黄龙 于 20天前发表 396 0 0
CLOVER 官方网址:http://cn.ejie.me/ [http://cn.ejie.me/] * 方便的 Tab 页功能 要掌握功能强大,操作简单的标签页,只需记住Ctrl+T新开页面,Ctrl+W关闭页面,Ctrl+Tab切换页面,工作效率提高何止一倍! * 操作系统无缝集成 Clover 通过插件的形式集成到 Windows Explorer,保留您通常的使用习惯,无需学习新的文件管理操作,马上就可以使用啦。 * 快如闪电的书签栏 按Ctrl+D添加当前路径,或者直接将文件夹拖入书签栏。再也不用到处寻找要访问的文件夹了,瞬间到达,何等痛快![http://7tszky.com1.z0.glb.clouddn.com/FhfcqVKAV2uCciuJADxSnnx8ZM5I] LISTARY 官方地址:http://www.listary.com/ [http://www.listary.com/] Listary 是一款实用的搜索工具, 也可以把它当做启动器来用非常方便。
20天前
工具建设
何璇 于 21天前发表 267 0 0
版本号 作为一名前端工程师,相信大家对npm等包管理工具都比较熟悉,这里抛出一个先前碰到的问题: 冲突 假设我们存在一个多个项目共用的构建环境runtime,构建工具所依赖的包都安装在此runtime中,然后各个项目的负责人或者开发人员一起来维护这个公用runtime的package.json。那么非常有可能,包之间的依赖会出现冲突,特别是当包存在 Peer Dependencies [https://nodejs.org/en/blog/npm/peer-dependencies/] 的情况(之前的低版本npm安装会导致NPM ERR报错): [http://7tszky.com1.z0.glb.clouddn.com/Fk4Dbxegl-f62Fttc-u3q6UwDkWv] 后续 在了解了什么是平等依赖以及为什么安装失败后,解决这个问题的办法有很多,比如: * 根据项目拆分runtime * 升级依赖包(防止breaking changes) * 更换构建实现方式 * 等等 尽管如此,我们还是非常有必要了解一下Npm包管理工具是怎么做的? 版本比较
21天前
工具建设
刘志龙 于 4个月前发表 650 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)
4个月前
工具建设
json 于 4个月前发表 804 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插件开发
4个月前
工具建设
kinkahuang 于 5个月前发表 630 0 0
MQTT是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQTT是专门针对物联网开发的轻量级传输协议。MQTT协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景。 而我却拿MQTT来做实时日志系统。 主要基于这几个点,轻量,实现简单,支持QoS,支持TLS,是个发布/订阅协议,支持消息推送。 其实公司日志系统那么多,像ULS,nlog什么的,为什么又又又要造轮子呀?因为要么接入麻烦,要么语言不支持,要么需要资源,要么支持不到位,要么丢消息等。而我的需求背景是,有几台服务器,目前的日志是打印到本地文件中,每次要查日志都要登录运营机器,而且还要登录两台,不大方便。因此,我想要的就是,只在一处地方统一实时查看所有日志,而且对现有系统最小的改动。 而了解到MQTT也实在是偶然,在一个ruff的群里有人基于MQTT对物联设备做实时控制,而线上的机器完全也可以当作一个物联设备,我用MQTT来做远程控制,控制内容就是把写到文件的日志直接转发到中心服务器就可以了。架构图长这样子:
5个月前
工具建设
ShiJianwen 于 5个月前发表 506 0 0
hexo 是一个优秀的静态博客工具,唯一的不足就是源文件无法同步,让人几乎只能在一台电脑上写博客,为了解决这个问题,我们可以使用 Github 来管理我们的 hexo 源文件,具体思路就是:在我们博客的远程仓库中新建一个分支,用这个分支来存储博客的源文件,这样我们每次在更新博客并部署之后可以顺手多执行两条命令将源文件同步到远程分支中去,不需要做任何环境切换的操作,还可以将部署和同步操作写成一个命令脚本,自动执行以上命令。建立同步的过程很简单: 初始化版本库&建立仓库关联(已与远程仓库关联的可忽略这一步) 一般根据 hexo 教程一步步建立起来的博客都没有跟自己的远程仓库建立关联,查看是否关联的方法是输入 git remote 看是否有关联的远程仓库: [http://7tszky.com1.z0.glb.clouddn.com/FtxueLTZmK2wcld6Id7DAu6-24k_]
5个月前
工具建设
jaychen 于 6个月前发表 1528 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), 防止出现混乱不一致。 * 网络弹性处理: 安装依赖时,不会因为某个单次网络请求的失败导致整个安装挂掉。当请求失败时会进行自动重试。
6个月前
工具建设
江源 ,非常让人头疼…… 于 6个月前发表 935 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.
6个月前
工具建设
赛冷思 ,爱编程,更爱前端。 于 7个月前发表 632 0 0
近来重装了一下wamp,索性记录一下,wamp安装完后,我的常用配置。首先,肯定要修改默认的空密码;其次,便要配置虚拟站点,因为当项目多的时候,每个项目分配成一个站点,对于开发来说,很方便管理。其实网上已有很多这方面的文章,但大部分说的都不够详细,有的只能在www目录内,所以借着这次重装wamp的机会整理一下笔记,分享一下,已留后用 ! 修改WAMP空密码 启动wamp后,左键点击wamp图标->MySQL->MySQL控制台,然后会提示让输入密码,安装完后,密码是空的,所以直接回车便可进入MySQL,接下来具体操作如下: use mysql;//选择数据库 updateusersetpassword=PASSWORD('新密码') whereuser='root';//修改密码 flushprivileges;//刷新权限表,不然不会生效 最后输入quit;退出,然后再重新进来,提示输入密码,再直接回车就进不来了,而输入刚才修改的密码便可。 配置虚拟站点 首先需要开启虚拟模块,然后还要开启允许在www目录之外的目录设置站点的权限。
7个月前
工具建设
杨文坚 ,首席吹牛工程师 于 8个月前发表 1208 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 上遍历
8个月前
工具建设
刘志龙 于 9个月前发表 972 0 0
都说Vim是编辑器之神,一直也觉得vim的编码非常酷炫~ 但是作为一个编辑器之神, 却一直保持着一个非常高傲的姿态,不像打开一个记事本,一个智商正常的人瞬间就能明白记事本怎么用,但是打开vim就算是天才自己慢慢琢磨估计一会。 那么,vim学习曲线这么大,我们为啥还要用vim? 为啥要玩VIM * 酷!Vim的前身Vi的作者Bill Joy和Emacs的作者Richard Stallman 都是那个时代著名的黑客,想不想像黑客一样去编程? * 使用sublime或其他大时候有没有发现自己的右手花了大量时间在键盘和鼠标间移动,这个过程其实是非常浪费时间和容易让手疲惫的过程。 * 领悟到Vim的精髓的时候会发现Vim非常高效,只有你想不到,没有Vim做不到。 * 如果你用macbook,作为一个前端基本必备的两屏是:浏览器和终端。而Vim跟终端完美的融合了。 模式 * 命令行模式:想想普通编辑器的复制粘贴,命令行模式可以理解为一个快速运行各种命令的模式,按 esc 键进入。 * 插入模式:这是大家最熟悉的了,这时的Vim相当于普通编辑器,按 i 进入。
9个月前
工具建设