小白妹妹写代码
HiiTea
我这么可爱一定是男孩子
  • angular指令什么情况下只能有一个根元素(root element)

    好久么有记录什么有用的知识了,总是猴子掰玉米似的学点忘点:( 问题 在写自定义指令(custom directive)的时候,经常遇到下面这个错误: 1 Error: [$compile:tplrt] Template for directive 'xx...

    • angular
    • directive
  • Angular directive指令相关的scope问题(= @ & ?)

    老生常谈之 isolated scope 每次说到directive, isolated scope总是要被提起的…官方的例子已经很好的说明了为什么我们需要isolated scope。当没有isolated scope的时候,directive依赖于controller的scope,这样每...

    • angular
    • directive
    • scope
    • isolated scope
  • 用webpack打包react组件

    吐槽 好多人都吐槽Webpack配置太复杂了,然而1.x我都还没学会现在都已经3.x了,前段圈真的好难混啊,真是必须活到老学到老啊… 前段时间闲得无聊看到个播放器叫 APlayer ,就想着包起来做个Vue或者React能用的吧,练练手……然后由于我的拖延症,写了好久,就在我写完Vue...

    • webpack
    • react
    • react-component
  • 尾逗号(Trailing Comma)的意义

    以前在网上看别人写的代码,有时候会看到这样,数组的最后一个元素后面多一个逗号: 1 2 3 4 5 var foo = [ 1, 2, 3, ]; 作为一个懒癌晚期患者,觉得要多加一个逗号,真是好麻烦...

    • 版本控制
    • trailing comma
    • comma-dangle
    • 尾逗号
  • 关于本地化的一些技巧

    在香港工作总是能接触到各种“本地化”的需求,大多数网站至少都会有中英文两个版本,有的还会分简体中文和繁体中文。而在实现本地化的过程中,由于英文与中文的文法、语序等差异,会有很多情况需要处理。 i18n & i10n 一直以来我都混淆使用这两个term,其中i18n是国际化,主要用...

    • interpolation
    • pluralization
    • localization
    • 翻译
    • 本地化
    • 单复数
    • ng-pluralize
  • 一点感悟

    不知道为什么,我是比较喜欢JS这种脑残语言的,并且也不想将其他语言用在工作中,比如PHP、PYTHON、JAVA之类的。 其实到最后肯定所有语言都是相通的,比如每种语言都会有自己的 lodash 、 npm 、 package.json ,所以当精通一种语言之后是能对其他语言的人指点江山的。我...

    • forceSoap12Headers
    • soap
  • openvpn在mac下的一点问题

    今天才发现自从买了新Mac之后根本没有用新电脑写过什么东西,导致我今天居然还要 npm install 才能跑起来HEXO,真是不知道有多懒。 作为一个在墙外居住了好几年的人,只知道用Unblock youku翻墙进墙内去看视频,根本不知道在墙内怎么翻出来。早些年的时候,翻到墙外是很简单的,免...

    • VPN
    • openvpn
    • 翻墙
  • 一些js小技巧

    一直以为这篇已经发过了,结果前两天搜的时候发现搜不到。一直扔在草稿里,今天整理一下之前和最近学到的一些JS小技巧 利用位运算取整 利用位运算,与、或、异或、左右移位, & | ^ >> >>> << ,舍去小数点后的...

    • js
    • tricks
    • js小技巧
  • CSS的几个小技巧:pointer-events, transform垂直居中,nth-child

    千万不要用没有自动保存功能的编辑器!千万不要用没有自动保存功能的编辑器!千万不要用没有自动保存功能的编辑器!:( 好久没有写什么东西了,可能是因为最近一直做的事情都是在重复搬砖,没有什么新鲜的东西…更可能是因为太懒了… 总结一下前段时间学到的几个css小技巧,以免过几天又忘记了 ...

    • css
    • tricks
  • Jenkins集成github pull request插件

    前不久给bootstrap提了个 issue ,然后被他们的高科技自动回复机器人吓萌比了。 有印象之前给,某些repo提PR的时候,如果是用的Travis CI,也会有相应的提示该PR是否pass了所有test case。 如果使用cloud based CI,很多功能都已经整合了,所以可以很...

    • github
    • 持续集成
    • jenkins
    • CI
  • 微博开放平台的Basic Auth和OAuth2.0认证

    这篇文章不是讲各种认证方式是怎么实现的,只是简单的介绍如何与微博进行整合。 微博开放平台允许使用api来开发一些与微博相关的应用,微博提供 Basic Auth 和 OAuth2.0 两种认证方式,其中Basic Auth只能用于测试环境。 Basic Auth 跟名字一样,就是很基...

    • OAuth2.0
  • 利用travis进行heroku部署

    好久么有写东西了,总感觉一直忙的跟狗一样,身心俱疲,但是又不知道到底在忙什么。 最近实践了一下利用travis部署到heroku的流程,又莫名其妙的尝试了新的编辑器atom,安装了markdown-preview-plus插件,当然要来写点东西试一试, 也不知道英文的linux下到底是什么问题...

    • travis
    • 自动部署
    • 持续集成
    • heroku
  • 微信撤回信息昵称显示原理分析

    吐槽 为了让各位亲朋好友方便的用撤回信息装x,本宝宝写了一个 昵称生成器 虽然是比较简单的页面,但本宝宝还没发布呢,微信就封了这个功能,宝宝心里委屈但宝宝不说… 起因 今天早些时候,在微信群里看到了这样的撤回信息: 1 "牛奶"撤回了一...

    • 微信,撤回信息,原理分析,双向文稿,
  • 如何通过Git钩子自动部署(Push to Deploy)

    看了好多讲通过git钩子自动部署的,大多讲的绕来绕去乱七八糟思路一点也不清晰… 做了一晚上实验之后大概明白了是怎么工作的。 裸仓库(bare) 裸仓库跟我们平时 git clone 得到的仓库不太一样,裸仓库其实相当于通过克隆来的仓库里的 .git 文件夹,整个裸仓库中只有git索引(i...

    • git
    • 自动部署
    • hook
  • 结合使用Babel Mocha Istanbul进行ES6代码测试和覆盖率测试

    题外话: 一直以为mocha读作“抹茶”并且一直这么读了很久,直到最近看了一个mocha的教学视频,才知道这是摩卡咖啡的摩卡…而抹茶的抹茶应该是matcha… 在还没有babel的时候,一切都很简单,基础的问题就先不讨论了,这里主要记录一下Babel转码和Istanbul测覆盖率的一些坑。 ...

    • ES6
    • mocha
    • istanbul
    • babel
    • 测试
    • 代码覆盖率
  • 箭头函数的作用域和this

    JS里的作用域和this一直是一件令人头疼的事情,以前接触的不太多,毕竟面向过程编程的我基本上都不会使用“类”这个概念。 自从开始学习ES6,很长一段时间都认为箭头函数(Arrow Function) ^1 就是给懒人用的 简写的匿名函数 而已。后来看到有人挑战阮一峰老师 《ECMAScrip...

    • es6
    • 箭头函数
    • this
    • 作用域
    • 词法作用域
  • AWS EC2 SSH访问 & mongodb 安装

    环境:Ubuntu SSH连接 EC2 windows下通常用putty ubuntu下先打个命令 ssh 看看能否识别命令,如果能就方便很多 要连接EC2通常都会有一个 .pem 的 私钥 文件,另外还会有一个 Public IP 首先设置权限(并不知道这个有什么用,chmod ...

    • AWS
    • EC2
    • ssh
    • mongodb
  • AWS API Gateway Mapping Template 获取IP, header等

    API Gateway暂时没有详细的中文文档,翻译无能的我实在不知道Mapping Template应该翻译成什么比较好。 适用场景 在配合API Gateway和Lambda来搭建RESTful API时,Lambda获取的payload并非通常服务器端获取的一个request对象,l...

    • AWS
    • API Gateway
    • lambda
    • mapping templates
    • header
  • Cookie在前端和后端的设置

    http协议什么的,不知道跟通信有没有关系…作为一个通信科班出身的硬 汉 妹,对各种协议基本上只能说出名字,别的一窍不通=,= 所以当我知道cookie原来是在header里的时候,当时我就震惊了… 在服务器端,各种框架都已经包装好了方便设置cookie的方法,比如nodejs的express...

    • cookie
  • jQuery中利用JSONP进行跨域GET请求

    每次遇到跨域的问题真是!@#¥% 我对 JSONP 的一些浅显的理解就是,有时候会看到类似 http://xxx.xx.com/?callback=xxx 这样的请求( callback= 也可能是 jsonp= 也可能是 jsonpcallback= ,这个取决于服务器端是怎么实现jsonp...

    • CORS
    • 跨域
    • jQuery
    • JSONP
  • 谷歌地图 Google Map API 初体验

    一直都想把自己去过的地方做个地图标记,然而现在能找到的各种现成的地图产品都不太喜欢,所以就用谷歌地图自己写了一个。 总结以下常见的问题和坑: 自动缩放(auto zoom) 使用场景大多数时候是有很多marker,想要全部显示这些marker,同时zoom当然越大越清晰。 首先需...

    • Google Map
    • Google Map API
    • 谷歌地图API
    • 谷歌地图
  • git如何ignore已经track的文件

    我也不想中英文混杂的取标题……但我实在翻译无能…_(:з」∠)_ 基本知识 在git中文件有两类,共三种状态: untracked tracked changes not staged for commit changes to be committed 我们都知道,...

    • git
    • gitignore
    • update index
  • Promise的顺序执行和并行执行

    并行和顺序执行的前提当然是,有一堆promise等着你去执行…… 通常我们把这“一堆”promise对象放到一个数组里, [promise1, promise2, promise3, ...] 我们都知道想要让promise按顺序执行,那就是一个接一个的then。然而手写很多then太累了,...

    • Promise
    • parallel
    • sequential
    • 顺序执行,并行执行
  • 对浏览器跨域问题的一些理解

    问题宝宝 1 移动应用开发 之前用Ionic写mobile app,移动app自然是少不了调用RESTful API的数据。 开发的时候用浏览器进行调试,然后console里不停的出现下面的提示( Access-Control-Allow-Origin ): 1 ...

    • CORS
    • corss domain
    • 同源策略
    • 跨域
    • 浏览器
  • 递归实现按顺序执行Promise

    2016-01-24更新 我还是觉得嵌套多层的promise是反模式,不推荐使用,机智的我学会了另一种不嵌套不递归的方法,请看这里: Promise的顺序执行和并行执行 以下为原文: 之前我一直有个疑问,当我有一堆promise的时候,怎么按顺序执行它们呢? 网上搜到的大多...

    • promise
    • 递归
  • 对generator和yield的一些理解

    于是也是入了ES6的坑,为什么只有babel这种ES6转ES5的工具,而没有ES5转ES6的工具呢?可能有,但是我不知道。如果有的话,就能把5转成6,起码看起来逼格高了一大截,也能让我这种还不习惯ES6的小白假装会写ES6… 简单的看了一下相关的概念,觉得还不太理解…就好像最开始看 原型链 一...

    • ES6
    • generator
    • yield
  • 对JS类和继承的一些理解

    本文只总结最常用的实现方法,不具体讨论各种实现方法的优缺点(这些具体可以看 《JavaScript高级程序设计》 )。 直到ES5,JS也还是一个没有类的语言,虽然ES6中可以使用class关键字,但据说也只是语法糖。(不知道好不好吃ԅ(¯﹃¯ԅ)) 类的实现 类的两个基本元素就是 ...

    • JS
    • prototype
    • 继承
    • 原型
  • 利用travis自动部署hexo搭建在github的博客

    这篇应该属于不务正业系列… 自从知道了持续集成(Continuous Integration)这个概念之后感觉开启了新世界的大门。 Travis 是一套持续集成的服务器解决方案,也就是等于把jenkins能够实现的都放在了云端,不用自己搭服务器安装了,懒人的福音~ 最初知道travis是...

    • github
    • travis
    • hexo
    • 博客
    • 自动部署
    • 持续集成
  • git merge commits 如何合并多个提交为一个

    因为我是那种经常改一个错别字就忙着要提交一次的人…所以总是会产生很多无意义的提交,于是合并多个提交为一个就成了我的刚性需求。 关于合并多个提交,主要是要搞清楚 rebase 的用法。 查看提交历史,git log 首先你要知道自己想合并的是哪几个提交,可以使用 git log 命令来...

    • git
    • merge commits
    • 合并提交
  • git merge repo 如何合并两个仓库

    为什么我每天都会有一些奇奇怪怪的需求… 我之前在github上用hexo搭了一个静态博客,每次hexo deploy的时候,就会在gh-pages分支提交一个commit。但是由于hexo-deployer-git本身的逻辑是,每次都是强推 push -f ,于是每当我换电脑(比如从家里换到公...

    • git
    • merge repo
    • 合并仓库
  • 对Promise中的resolve,reject,catch的理解

    对promise这个概念之前已经有了一些浅显的理解, 相关文章->戳这里 ,最近又有了一些新的理解。 .then()的时候到底是在then什么… 首先要理解…Promise是一个对象,有then()方法的对象 then()的入参是一个函数,通常在promise链中,入参是 ...

    • promise chain
    • promise链
  • JS变量提升(Hoisting)

    写了无数JS也依旧没听过变量提升… 变量提升(Hoisting)这个概念,我第一次见到是在万人膜拜的 Airbnb JS 代码风格 中见到。看完这一节大概明白是在说什么,然后觉得非常奇怪,这个概念平时写代码什么情况下用的到呢? 我写了这么久JS,从来也不会先用变量后定义的呀,而且别的语言好...

    • hoisting
    • 变量提升
  • 对JS闭包(Closure)的一些理解

    昨天无聊在github上看代码,看到如下片段,反正看不太懂这是在干啥,但这就是传说中的闭包了… 1 2 3 4 5 function isType(type) { return function(obj) { retu...

    • JS
    • closure
    • 闭包
  • 对module.exports和exports的一些理解

    可能是有史以来最简单通俗易懂的有关Module.exports和exports区别的文章了。 module.exports 和 exports 的区别就是 var a={}; var b=a; ,a和b的区别 看起来木有什么太大区别,但实际用起来的时候却又有区别,这是为啥呢,请听我细...

    • NodeJS
    • Module.exports
    • exports
    • 模块导出
  • AWS API Gateway与AWS Lambda的整合及开发/测试/生产环境的设置

    本文 不是 介绍 AWS API Gateway 和 AWS Lambda 的基本用法的…=(:з」∠)_ 简单的来说,有了AWS的API Gateway和Lambda这两样东东,再加一个数据库( 最好当然是用AWS DynamoDB啦,或者AWS EC2上装mysql,不用AWS也可以...

    • AWS
    • 环境配置
    • API Gateway
    • AWS Lambda
    • RESTful
    • 开发环境
    • 测试环境
    • 生产环境
  • AWS DynamoDB的本地安装及环境配置

    DynamoDB 是亚马逊AWS云服务提供的一个NoSQL的数据库… 在这里我必须安利一下Amazon家的服务真是业界良心:前不久,可能是因为我自己蠢,英文不好没看懂免费用一年的各种限制,也不知道写了什么奇怪的东东用自己的账号测试dynamoDB被扣了几刀,写邮件去投诉说你们不是免费吗为啥扣...

    • AWS
    • DynamoDB
    • 环境配置
    • 本地安装
    • 亚马逊
    • 云服务
  • JS注释中的感叹号是干什么用的/*! */

    前几天看了一个帖子 我招不到想要的程序员 ,里面有一点是说 非极端情况下,一本以下的不要 。本来学历这种事情大家都无所谓,毕竟我所认识的大多数都是985、211的本硕博。只有当进入了另一个不同的世界,才觉得学历还挺重要的… 我的JS基本都是靠自学,我的大神同学们都是搞后端强类型语言的,所以我只能上...

    • js
    • 重要注释
    • 感叹号
  • GitHub Page如何绑定域名

    本文假设你已经在github建立了一个yourname.github.io的网站,为了看起来逼格更高,更好记,更professional,所以要绑定域名?! 我本来的github page是 sabrinaluo.github.io ,花了一百多大洋把这个域名变成 sabrinaluo.com ,...

    • github
    • github page
    • custom domain
    • 域名绑定
    • 二级域名
    • 域名解析
  • X-WSSE验证中关于SHA1编码方式的一些坑

    不知道为什么,关于X-WSSE验证的中文资料很少,英文资料也不是很多,能搜到的资料年代都非常久远,最早可追溯到2003年 ^1 ,可能这种验证方式太古老而且存在什么弊端,所以在随后的很多年里人们发现、发明了其他更常用的验证方式? 关于HTTP的各种验证方式我其实一种都不知道…X-WSSE这一种...

    • X-WSSE
    • WSSE
    • auth
    • SHA1
  • 版本控制及git常用基本命令

    (此文章适合听说过git,大概知道git是什么东东,但是又不会git命令的童鞋阅读。 时间充裕的童鞋可以到 codecademy 跟着教程一步步走) Git 是一个分布式的版本管理( Version Control )工具。 版本管理这个概念很多童鞋可能不是很清楚,但其实在代码创作的过程...

    • git
    • version control
    • 版本控制
  • 我所理解的Promise

    (嫌我话多的可以直接看分割线之后的部分…) 以前高中的时候自己捣腾博客,一直也就只会用JQuery写点按钮事件什么的,连表单提交都没写过,后来误打误撞做了前端码农旧觉得JS的异步模式实在是太坑爹,当你搞清楚异步回调的时候,又会发现 回调地狱(Callback Hell) 太坑爹… 为什么觉得异步坑...

    • promise