blog icon indicating copy to clipboard operation
blog copied to clipboard

ScriptLife's Blog

Results 14 blog issues
Sort by recently updated
recently updated
newest added

# DOT语言学习笔记 - [介绍](#介绍) - [优点](#优点) - [缺点](#缺点) - [安装](#安装) - [应用](#应用) - [扩展名](#扩展名) - [输出格式](#输出格式) - [编辑](#编辑) - [布局器](#布局器) - [命令行](#命令行) - [第一个graphviz图](#第一个graphviz图) - [三个示例快速入门](#三个示例快速入门) - [DOT语法](#dot语法) - [基础](#基础)...

Tools
DOT

git虽好,但总会遇到一些不希望的提交,所以就会有增删改某次或某些提交的需求。下面收集一下,修改本地和远程版本历史的一些方法。 ## 本地修改 由于以下修改本身是对版本历史的修改,在需要push到远程仓库时,往往是不成功的,只能强行push,这样会出现的一个问题就是,如果你是push到多人协作的远程仓库中,会对其他人的远程操作构成影响。通常情况下,建议与项目远程仓库的管理员进行沟通,在完成你强制push操作后,通知其他人同步。 1. 修改最近一次的commit 修改提交的描述 ``` bash git commit --amend ``` 然后会进入一个文本编辑器界面,修改commit的描述内容,即可完成操作。 修改提交的文件 ``` bash git add # 或者 git rm git commit --amend # 将缓存区的内容做为最近一次提交 ``` 2....

Skills
Git

关于GitHub Pages建站的文章我以前写过,不过,写的比较乱,今天整理了一下。 ## 背景 为了更好地学习和记录自己的前端经历,搭建一个便捷、稳定的个人站点挺有必要的;而通过GitHub Pages来展示自己的作品,更是不错的选择。 **注意:**需要保证已经安装好git并且已经关联到git远程平台账户 ## 搭建项目的展示页面 1. 打开git shell,创建一个名为`gh-pages`的分支,GitHub Pages默认为这个分支创建页面 ``` bash git checkout --orphan gh-pages ``` 2. 将项目的展示页面文件放在项目仓库的`gh-pages`分支的根目录下,并且命名为`index.html`,必须以`html`为扩展名。 - [x] Done! 自此,即可通过`http://userName.github.io/repoName`访问你的项目demo页面了。 **补充:** - 自2016年6月开始,部署在GitHub Pages上的站点开始支持https协议[GitHub...

Site Building

## 安装步骤 1. 安装jdk 安装指定版本的jdk ``` bash sudo apt-get install openjdk-7-jdk ``` 或安装默认版本的jdk ``` bash sudo apt-get install default-jdk ``` 2. 下载Android SDK ``` bash wget http://dl.google.com/android/android-sdk_r24.2.1-linux.tgz ``` 或者从 https://developer.android.com/studio/index.html...

Env Config

这里整理记录以下过去一段时间学习和收集的一些JavaScript高级技巧 1. [安全类型检测](https://gist.github.com/uolcano/98d2525de5b9d4b8e8be155211c136b8#file-1-md) 2. [作用域安全的构造函数](https://gist.github.com/uolcano/98d2525de5b9d4b8e8be155211c136b8#file-2-md) 3. [惰性载入](https://gist.github.com/uolcano/98d2525de5b9d4b8e8be155211c136b8#file-3-md) 4. [函数绑定](https://gist.github.com/uolcano/98d2525de5b9d4b8e8be155211c136b8#file-4-md) 5. [函数柯理化](https://gist.github.com/uolcano/98d2525de5b9d4b8e8be155211c136b8#file-5-md) 6. [线程控制](https://gist.github.com/uolcano/98d2525de5b9d4b8e8be155211c136b8#file-6-md) [查看全文](http://roughdraft.io/98d2525de5b9d4b8e8be155211c136b8) [备用链接](https://gist.github.com/98d2525de5b9d4b8e8be155211c136b8)

Skills
Snippets

# 妙用Gist [Gist][Gist]是GitHub推出的一款类似于[Pastebin][]的代码片段托管服务,初衷是为了分享和交流代码,但是实际上可以做很多事。 [查看全文](http://roughdraft.io/70c3926a4716759ec6599f444a172e64) [备用链接](https://gist.github.com/70c3926a4716759ec6599f444a172e64) [Gist]: https://gist.github.com/ [Pastebin]: https://en.wikipedia.org/wiki/Pastebin

Skills
Gist

## ruby 下载证书 ``` bash gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 ``` 安装稳定版rvm以及最新版的ruby ``` bash curl -L https://get.rvm.io | bash -s stable --autolibs=enabled --ruby ``` 安装依赖,初始化并立即执行 ``` bash sudo apt-get install...

Env Config

最近把原来的ST3卸了,去官方下载了最新的重装。也装了好多插件和snippets,ST3文件夹变成了200+M,装太多:sweat_smile:。 把插件清单列出来,方便以后重装。诶,烦不烦啊,你哪那么多闲工夫重装啊(ノಠ益ಠ)ノ彡┻━┻,说笑了;P 清单如下: 插件名 | 推荐级别 | 描述 ----------------- | -------- | -------------------------------------------- **基础插件** | —— | —— [PackageControl][] | A+ | 包管理插件 [Side​Bar​Enhancements][] | A+ | 边栏 [DocBlockr][] |...

Tools

近几天着手在Windows下通过[GitHub Pages](https://pages.github.com/)搭建个人博客,但由于国内网络问题和Windows下安装ruby和bundler的各种证书问题,安装jekyll折腾了好久。无奈,经朋友介绍,通过使用VirtualBox+Vagrant+PuTTY终于可以安装好jekyll并成功搭建示范站点了。本文作为安装记录方便以后有需要的时候再次安装,如能对其他读者有所帮助,不胜荣幸。 ## “食材”准备 - [VirtualBox](https://www.virtualbox.org/wiki/Downloads) - [Vagrant](https://www.vagrantup.com/downloads.html) - [PuTTY和PuTTYGen](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) ## “食材”选择 1. VirtualBox选“VirtualBox 5.0.16 for Windows hosts”下载,我装的时候5.0.16是最新的,并且一定要下载“VirtualBox 5.0.16 Oracle VM VirtualBox Extension Pack”。都是双击安装,win下都是无脑双击了; 2. Vagrant选择Windows通用版,下载安装就好了; 3. PuTTY和PuTTYGen(后面生成私钥,避免每次登陆都要输密码用的,实际上我用的每次都不成功,所以觉得可以接收每次都手动输入密码的,可以忽略这个),我是直接下载的putty.zip,里面包含了PuTTY和PuTTYGen。 **注意:**考虑到国内网络情况,下载box的时候可能会有问题,建议使用迅雷之类的下载工具手动下载box压缩镜像。这里是[参考问题](http://laravel.io/forum/05-06-2015-how-to-download-vagrant-box-manually)和[box清单](https://atlas.hashicorp.com/boxes/search?utm_source=vagrantcloud.com&vagrantcloud=1),我这里选择安装的是ubuntu/trusty64系统,版本号是清单中对应的v20160323.1.0,可用的下载链接地址就是: https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20160323.1.0/providers/virtualbox.box...

Env Config

前段时间看阮一峰老师的[ES6入门](http://es6.ruanyifeng.com/)的“函数的扩展”部分,发现几个这门语言内置的一些性能优化的功能和算法,觉得挺有意思,想自己试试顺便也总结一下,但是一直没时间,今天抽空来写一写。 ## 尾调优化(Tail-call optimization) 尾调优化是为了避免不断保留和创建新的调用栈,而在函数**最后一步**调用另一个函数。这是ES6才开始出现的概念,常用于尾递归。 最后一步的意义就在于:不需要保留当前函数的执行环境(阮老师的原文讲的是调用帧"call frame",但我的理解是执行环境另一种说法),在调用的下一个函数执行完毕并给出返回值后,直接再返回,类似于pipe。[wiki](https://en.wikipedia.org/wiki/Tail_call) 尾调优化有很多表现形式: 1. 直接作为函数调用 ``` js function foo(x) { return x; } function bar(y) { return foo(y + 1); } bar(12); ``` 2. 对象方法调用...

Optimization