Web Relog

待到秋风吹起 荒野红叶满山 我就到处乱跑 死活不去上班 或者游走树下 或者徘徊水边 或者天天大睡 装作特别有钱


  • 首页

  • 关于

  • 归档

  • 标签

  • 搜索

图片图册画廊

发表于 2017-10-16 |

图册 画廊

  • 随着用户交互丰富

    工业化库

  • PhotoSwipe
  • magnific popup

home-basic-1.md

发表于 2017-09-20 |

this is the first time on the train

wherever u go

js-module-1.md

发表于 2017-09-19 | 分类于 js |

常用JS库

Particles.js — 一个用来在 web 中创建炫酷的浮动粒子的库

Three.js — 一个用来在 web 中创建 3d 物体和 3d 空间的库

Fullpage.js— 快速实现全屏滚动特性

Typed.js — 打字机效果

Waypoints.js — 滚动到某个元素位置时触发一个功能

Highlight.js — web 语法高亮

Chart.js — 使用 JavaScript 创建漂亮的图表

Instantclick — 能够明显加速网站加载时间,鼠标 hover 时预加载资源

Chartist — 另一个图表库

Motio — 一个基于动画和平移的雪碧图库

Animsition — CSS 实现动画过渡的 jQuery 插件

Barba.js — 流式页面过渡

TwentyTwenty — 一个对比图片的可视化 diff 工具

Vivus.js — 在 SVG 上绘制动画

Wow.js — 滚动时展现动画

Scrolline.js — 页面滚动时显示滚动进度

Velocity.js — 快速流畅的 JavaScript 动画

Animate on scroll — 漂亮的页面滚动元素动画

Handlebars.js — Javascript 模板

jInvertScroll — 视差滚动

One page scroll — 又一个页面滚动库

Parallax.js — 对智能设备方向变化做出响应的视差引擎

Typeahead.js — 搜索补全

Dragdealer.js — 炫酷拖拽

Bounce.js — 创建炫酷的 CSS3 动画

Pagepiling.js — 全屏滚动

Multiscroll.js — 两列垂直反向滚动

Favico.js — 动态 favicon

Midnight.js — 固定头部切换效果

Anime.js — 动画库

Keycode — 获取键盘按键的 JavaScript keycode

Sortable — 拖拽插件

Flexdatalist — 自动补全

Slideout.js — 移动应用侧滑导航

Jquerymy — 使用 jQuery 实现双向数据绑定

Cleave.js — 实时格式化输入内容

Page — 客户端单页应用路由

Selectize.js — 用来添加 tag 的 Hybrid 选择框

Nice select — 创建漂亮的选择框的 jQuery 库

Tether — 使用固定定位来创建相关元素

Shepherd.js — 为应用创建新手引导

Tooltip — tooltip 提示框

Select2 — Jquery 选择框插件

IziToast — 通知弹窗实现

IziModal — 模态框实现

CSS 库 / 设计相关

Animate.css — 动画库

Flat UI Colors — 扁平化设计配色

Material design lite— 基于 Google material design 的框架

Colorrrs — 随机颜色生成器

Section separators — CSS 实现区域分割

Topcoat — 框架

Create ken burns effect — 使用 CSS3 动画实现 Ken burns 特效

DynCSS — 给 CSS 添加 function,动态化 CSS

Magic animations — CSS3 实现动画特效

CSSpin — css spinners 合集

Feather icons — Icon 集合

Ion icons — Icon 集合

Font awesome — Icon 集合

Font generator — 组合多个字体创建混合字体

On/Off switch — 使用 CSS 创建 on/off 开关、radio 按钮

UI Kit — 框架

Bootstrap — 框架

Foundation — 框架

有用的产品/链接

cheatsheet — 可以写在中的所有标签

Ghost — 基于 Node.js 的博客平台

What runs — 一个用于网站技术分析的 Chrome 插件

Learn anything — 一个强大的用于分析某个主题的思维导图

shell状态

发表于 2017-09-11 | 分类于 osx |

login shell & no-login shell

  • login shell
    • 当你通过终端输入用户名和密码,然后进入到terminal,这时候进入的shell环境就叫做是login shell,例如,通过ssh远程进入到主机。
    • login shell 运行的脚本文件 .bash_profile
  • no-login shell
    • 例如你已经登陆了你的桌面电脑,这时候在应用管理器中找到termianl图标,然后双击打开终端
    • no-login shell 运行的脚本文件 .bashrc
  • osx特例
    • 每次运行termianl的时候.默认运行login shell状态
    • osx 的环境变量都写在 .bash_profile

.bashrc .bash_profile 加载顺序

  • .bash_profile .bashrc

git init 说明

发表于 2017-08-29 | 分类于 git |

git start

  • git repository config
1
2
3
4
git init
git remote add origin https://xxx.xxx.xxx || git@git.xx.xxx
git config user.name xxx
git config user.email xxx

git 分支使用技巧

1
2
3
4
5
git branch -t demo origin/demo //创建demo分支 并且追踪远程demo分支
git branch --track demo origin/demo
$ git:(demo) git branch -u origin/master //修改demo远程追踪为master
$ git:(demo) git branch --set-upstream demo origin/master //不推荐

start description

  • git config 说明
    • remote add origin xxx 给本地仓库添加远程仓库 别名 origin
    • git 添加远程仓库https ssh 方式是不同的
    • ssh 需要通用 ssh key 的方式本地生成ssh key的公钥和私钥将公钥配置到gitserver。ex: github-setting-ssh key
    • https 每次push pull 都需要用户密码 用credential.helper 方式保存
      1
      2
      3
      4
      #window
      git config credential.helper=wincred
      #osx
      git config credential.helper=osxkeychain

— git 不同的登录方式ssh https 配置区别还是需要注意

js对象概念

发表于 2017-08-28 | 分类于 js |

js对象

this 对象

this 指向和调用方式有关 函数调用 对象方法 new表达式

  • ==普通函数调用==,this为==全局对象或是undefined==
  • ==作为对象的方法==,this为==那个对象==
  • new 表达式,this为以该函数为原型的新创建的对象
  • 使用 apply/call指定 this 这里this的指向根据函数的上下文
  • 用bind绑定固定的this
  • 事件处理函数中的this是当前的触发事件的DOM元素(event.currentTarget)
  • IE attachEvent添加的事件处理函数中this为window

函数

1.函数声明和 函数表达式 区别

  • 在解释器 加载数据时候 有一个函数声明提升 function declaration hoisting
  • 函数声明在任何代码之前可用
  • 函数表达式必须等到解析器执行到它所在的代码行

2.函数调用的三种方式:

  • obj.myFunc();
  • myFunc.call(obj,arg);
  • myFunc.apply(obj,[arg1,arg2..]);
  • call 连续参数 apply 接受 array arguments
  • fun.call(thisArg[, arg1[, arg2[, …]]])
  • fun.apply(thisArg, [argsArray])
  • 参考文档

3.构造函数:

这个新创建的对象的 prototype 被指向到构造函数的 prototype。

  • 通过 new 关键字方式调用的函数都被认为是构造函数。
  • 在构造函数内部
  • 也就是被调用的函数内
  • this 指向新创建的对象 Object。

4.原型对象

  • 原型对象:有 constructor 指针指向构造函数. 是不安全属性容易被重写!
  • 实例:指向原型对象的内部指针 [proto ]. constructor 属性默认调用prototype对象的constructor.
  • All objects inherit a constructor property from their prototype:

arguments对象

  1. 转换成数组
  2. var args = Array.prototype.silce.call(arguments);
  3. callee 属性 指向拥有arguments对象的函数

object 对象

1.Object.defineProperty() 参数 对象,属性,描述符(descriptor)
descriptor: configurable emumerable writable value 中一个或多个。

  • configurable true 可以从对象属性删除 false 不能从对象属性删除 delete会报错
  • emumerable
  • writable true 可读写, flase 只读
  • value 属性的值
  • 访问器属性getter setter 使用 writable value

gulp常用插件

发表于 2017-08-28 |
gulp-load-plugins

将所有gulp开头的文件load,

$=require(“gulp-load-plugins”),

通过$访问gulp相关的插件。

gulp-load-plugins

这个插件能自动帮你加载package.json文件里的gulp插件。例如假设你的package.json文件里的依赖是这样的:也就是原始插件名去掉gulp-前缀,之后再转换为驼峰命名。

gulp-jade

编辑jade

gulp-less

编辑less 文件

gulp-flatten

平面任意嵌套的数组,化成非数组项的非嵌套列表

gulp-plumber

Prevent pipe breaking caused by errors from gulp plugins

gulp-uglify

插件用来压缩js文件。

gulp-minify-css

插件用来压缩css文件。

git

发表于 2017-08-28 | 分类于 git |

Git实践

  • Git 有三种状态

    • 已提交(committed)
    • 已修改(modified)
    • 已暂存(staged)
  • Git global setup:

    1
    2
    git config --global user.name "username"
    git config --global user.email "username@baidu.cn"
  • Create Repository

    1
    2
    3
    4
    git init
    git config user.name "username"
    git config credential.helper wincred //Caching password in git
    git remote add origin https://git.corp.qihoo.net/kidsguard-web/elder.git
  • delete remote branch

    1
    git push origin --delete branchName
  • GIT关键字

    • pull 拉取远程的repo 仓库内容
    • fetch
    • push 将修改推送到远程的仓库
    • checkout 切换分支
    • branch test 创建test 分支
    • rebase 修改master指针的位置,使得本branch上面的提交都在最新master之后保持提交树的线性关系。
    • add 这个命令理解为“添加内容到下一次提交中”而不是“将一个文件添加到项目中”要更加合适。
    • reset SHA 会保留工作目录(working directory)。这些提交虽然消失了,但是内容还在磁盘上
    • reset –hard SHA “撤销”所有提交和本地修改 (-hard不保留本地磁盘数据)

pull & push (push 类似)

1
2
3
git pull <远程主机名><远程分支名>:<本地分支名>
git pull origin next:master //origin主机的next分支,与本地的master分支合并。
git pull origin next //远程分支是与当前分支合并

reset

1
2
3
4
git reset -soft head~ 回滚到前一次提交之前
git reset --hard HEAD~~ 回滚到前一次提交
git reset --hard <commit ID号>
git push -f 回滚远程提交的

checkout

1
2
3
git checkout -b newtest 本地新建一个名为newtest的分支
git checkout -b localtest origin/test 创建branch为localtest,repo为origin/test.
git branch -u origin/my_branch change upstream 的分支

  • 参数文档
    • Git猴子入门参考文档
    • GIT 特性和基本命令 基于快照

柯里化

发表于 2017-08-28 | 分类于 js |

柯里化

  • 延时计算
  • 通用写法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    var currying = function (fn) {
    var _args = [];
    function base() {
    if (arguments.length === 0) {
    return fn.apply(this, _args);
    } else {
    Array.prototype.push.apply(_args, [].slice.call(arguments));
    return logic;
    }
    }
    return base;
    };
    var add = currying(function(){
    return [].slice.call(arguments).reduce(function(a,b){
    return a + b;
    });
    })
    add(1,2,3)(4)(5)();

移动端设计知识库

发表于 2017-08-28 |

移动端设计知识库

关键词


px:physical pixel

设备能控制显示的最小单位,我们可以把这些像素看作成显示器上一个个的点。

css px

CSS像素是Web编程的概念,独立于设备的用于逻辑上衡量像素的单位,也就是说我在做网页时用到的CSS像素单位,是抽象的,而不是实际存在的。

pt: point,点,

印刷行业常用单位,等于1/72英寸

dip 设备独立像素

(DIP,device-independent pixel,density-independent pixel)(也叫密度无关像素),可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用并控制的虚拟像素(比如:CSS 像素,只是在android机中CSS 像素就不叫”CSS 像素”了而是叫”设备独立像素”), 然后由相关系统转换为物理像素。

dip或dp,是安卓开发用的单位

比较单位

DPI 点每英寸

dpi (dots per inch): 打印分辨率 (每英寸所能打印的点数,即打印精度)

PPI 像素每英寸

ppi (pixels per inch):图像分辨率 (在图像中,每英寸所包含的像素数目)

计算方法是通过勾股定理算出来对角线包含的像素点然后除以对角线的长度(英寸)得来的

  • ppi和dpi经常都会出现混用现象。但是他们所用的领域也存在区别。从技术角度说,“像素”只存在于电脑显示领域,而“点”只出现于打印或印刷领域。

PPI 参数数据

安卓端 PPI 参数

image

苹果设备 PPI 参数

image

思考

  1. PS中的分辨率/寸指的是什么?
  2. 做web设计的时候通常设置为72 ?
  3. 做图片输出的时候通常设置为300 ?
  4. 苹果鼓吹的retina又是什么呢?1080p 4k 等概念?
  5. 分辨率 分为显示分辨率 和 图片分辨率 分别指什么?
    独立完成思考题,恭喜你 完成本课程学习!
12
MicroJes

MicroJes

11 日志
3 分类
7 标签
Github E-Mail
© 2017 MicroJes
由 Hexo 强力驱动
主题 - NexT.Mist