Day learn,day up
前言
忽略我这个中文式英语的标题。
身为一个记性不咋地的前端渣渣,觉得平时看的一些文章太散了,特开此文作为一种记录,可谓好记性不如烂笔头,也算是逼自己要经常学习。文章的日期为最后更新时间,题目顺序不分先后,希望能经常保持置顶状态,目录到达一定长度时会重开一篇。
工具
hexo迁移
因为我的笔记本电脑最近瓦特了,所以不得不把博客迁出来,在这里做个记录,方便下次查找。
将原来的电脑上原有的hexo目录拷贝到新电脑,只需拷贝以下目录:
- _config.yml
- package.json
- scaffolds/
- source/
- themes/
在新电脑安装hexo
npm install -g hexo安装后进入hexo/目录
安装模块
1
2
3
4npm install
npm install hexo-deployer-git --save
npm install hexo-generator-feed --save
npm install hexo-generator-sitemap --save然后重新配置github
1
2git config --global user.name "YOUR NAME"
git config --global user.email "YOUR EMAIL ADDRESS"Authenticating with GitHub from Git
在 Git Bash 下执行如下命令,生成 SSH key
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"email为自己的github账号,剩下的一路回车即可。
将 SSH key 添加到 ssh-agent
- 在 Git Bash 下执行如下命令,开启 ssh-agent
eval "$(ssh-agent -s)"- 将这个 SSH key 添加到 ssh-agent 里去
ssh-add ~/.ssh/id_rsa将 SSH key 添加到 Github 账户
- 在 Git Bash 中将 SSH Key 拷贝出来:
clip < ~/.ssh/id_rsa.pub此时,SSH Key 已经在我们的剪切板里了。然后登录 Github 帐号,依次点击自己的头像,Settings,SSH and GPG keys, Add SSH key, 在 Title 这里输入 Key 的label,比如
your_name - PC,然后在 Key 里面把 SSH Key 粘贴进去,点击 Add SSH key 大功告成。测试 SSH 连接,在 Git Bash 中敲入
ssh -T git@github.com做完上面这些后 执行hexo deploy 大功告成
但是我还是报错,hexo error fatal httprequestexception encountered….
后来在https://github.com/hexojs/hexo/issues/3043 这里找到解决方法
把repo的配置方式改一下,任何就可以了。
1
2
3
4deploy:
type: git
repo: git@github.com:anchen1204/anchen1204.github.io.git
branch: master以上方法结合了这两篇文章:
JavaScript
Object.assign()
语法:Object.assign(target, ...sources );
参数:
target:必需。可枚举属性复制到的对象。
…sources:必需。从其中复制可枚举属性的对象。
实例:
1 |
var first = { name: "Bob" };
|
看阮一峰大神的ES6-编程风格 :
对象尽量静态化,一旦定义,就不得随意添加新的属性。如果添加属性不可避免,要使用Object.assign方法。
1 |
// bad |
Promise
阅读(按左到右顺序): 大专栏 Day learn,day up/zh-CN/docs/Web/JavaScript/Guide/Using_promises" target="_blank" rel="noopener noreferrer">使用 Promises Promise
这两天又看了一遍Promise的内容,觉得这个对象真的非常好用。
做个总结呗,其实在项目中已经快乐地用起来了,很方便。
它存在的意义?还不是因为javaScript是世界上最好的…不对,说错台词了,应该是javaScript是单线程语言。
我们经常为了解决这个问题,使用的是回调函数,俗称callback,为了达到异步执行。比如setTimeout ,比如AJAX异步操作。
具体介绍不表,可以看文档。直接说使用吧。
1 |
new Promise( function(resolve, reject) {...} /* executor */ );
|
1 |
new Promise((resolve, reject) => {
|
.then()是链式调用,获取上一个Promise resolve返回的对象进行操作;
.catch() 原理同then,但是是针对Promise 的reject返回的对象进行操作;
注意:在一个失败操作(即一个 catch)之后可以继续使用链式操作,即使链式中的一个动作失败之后还能有助于新的动作继续完成。
即链式调用不会因为其中一个环节失败(reject)而中断。
好用组合:
Promise.resolve() &Promise.reject()
这两个是手动创建一个已经resolve或者reject的promise快捷方法。
Promise.race() 和Promise.all()
这两个用法一样,其实括号内都是多个Promise对象
但是不同的地方在于:
Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable参数内所有的 promise 都完成(resolved),或参数中不包含 promise 时回调完成(resolve);如果参数中 promise 有一个失败(rejected),此实例回调失败(reject),失败原因的是第一个失败 promise 的结果。
Promise.race(iterable)方法返回一个 promise,一旦迭代器中的某个promise解决或拒绝,返回的 promise就会解决或拒绝。
一句话,前者如果有一个失败,则之间返回第一个失败(catch里);后者只会返回第一个处理的失败或者成功。
举个实际可能会使用的例子:
Promise.all是很适合来解决多个Promise是用于获取请求基本信息,比如app里的登陆信息,ticket,版本号,它们都获取成功后可以接着执行可能下一步的请求。。。
Promise.race很适合容错现象,比如接口超时:
1 |
//网络超时写法:Promise.race() |
Day learn,day up的更多相关文章
- Atitit learn by need 需要的时候学与预先学习知识图谱路线图
Atitit learn by need 需要的时候学与预先学习知识图谱路线图 1. 体系化是什么 架构 知识图谱路线图思维导图的重要性11.1. 体系就是架构21.2. 只见树木不见森林21.3. ...
- Python 爬取所有51VOA网站的Learn a words文本及mp3音频
Python 爬取所有51VOA网站的Learn a words文本及mp3音频 #!/usr/bin/env python # -*- coding: utf-8 -*- #Python 爬取所有5 ...
- [转载]VIM 教程:Learn Vim Progressively
文章来源:http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ Learn Vim Progressively TL ...
- some tips learn from work experience
1.you can't avoid office politics 2.you'll never have a job which you "can't quit" - if yo ...
- Java-集合(没做出来)第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列。 例如: List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(“Learn”); //此时list 为Hello World Learn reverseL
没做出来 第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列. 例如: List list = new ArrayList(); list.a ...
- Learn RxJava
Learn RxJava http://reactivex.io/documentation/operators.html https://github.com/ReactiveX/RxJava/wi ...
- ANSI Common Lisp Learn
It has been a long time that I haven't dealt with my blog. On one hand I was preparing the exams.On ...
- [Notes] Learn Python2.7 From Python Tutorial
I have planed to learn Python for many times. I have started to learn Python for many times . Howeve ...
- 十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))
十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less)) 注:本文为翻译文章,因翻译水平有限,难免有缺漏不足之处,可查看原文. 我们知道写css代码是非常枯燥的 ...
- Learning How To Learn
1.Practice 2.memory every week for from working memory to long tern memory 3.sleep 4.running promote ...
随机推荐
- 关于电脑识别不出自己画的板子上的USB接口问题
现在在画一个Cortex-A5的底板,现在已经完成,正在测试各个模块,发现USB插上后,电脑提示报错,如下: 网上查了很多,有的说是配置问题,有的说是走线问题,首先配置肯定没问题,因为同一台电脑,在买 ...
- SEO优化技巧
一.搜索引擎工作原理 当我们在输入框中输入关键词,点击搜索或查询时,然后得到结果.深究其背后的故事,搜索引擎做了很多事情. 在搜索引擎网站,比如百度,在其后台有一个非常庞大的数据库,里面存储了海量的关 ...
- 四、NOSQL之Redis持久化缓存服务基础实战第三部
1.NOSQL的理解 NOSQL是不仅仅是SQL,说的就是sql的补充,但是不能替代SQL. nosql库:memcached.memcachedb.redis 2.redis 简介 Redis是一个 ...
- [原]livekd使用问题记录
sysinternal suite中的livekd.exe可谓神器.可以用来观察本地内核的一些状态,当然抓内核dump再合适不过了. 在使用livekd的时候遇到了一些问题,现总结如下: 使用live ...
- RDD(二)——创建
RDD的创建 1)从内存中创建 从集合中创建RDD,Spark主要提供了两种函数:parallelize和makeRDD val raw: RDD[Int] = sc.parallelize(1 to ...
- tensorflow(六)
一.TensorBoard可视化工具 TensorBoard实现形式为web应用程序,这为提供分布式.跨系统的图形界面服务带来了便利. 1.使用流程 SummaryOps->Session--( ...
- 源码分析Dubbo服务消费端启动流程
通过前面文章详解,我们知道Dubbo服务消费者标签dubbo:reference最终会在Spring容器中创建一个对应的ReferenceBean实例,而ReferenceBean实现了Spring生 ...
- Opencv笔记(十八)——轮廓的更多函数及其层次结构
凸缺陷 前面我们已经学习了轮廓的凸包,对象上的任何凹陷都被成为凸缺陷.OpenCV 中有一个函数 cv.convexityDefect() 可以帮助我们找到凸缺陷.函数调用如下: hull = cv2 ...
- js window.onload 加载多个函数和追加函数
平时做项目 经常需要使用window.onload, 用法如下: function func(){alert("this is window onload event!");ret ...
- 3)利用Build.php自动创建目录和文件
(1)首先做法参照: thinkphp5的手册的 命令行--->自动生成目录结构 或者看云的资料:https://www.kancloud.cn/manual/thinkphp5/118021 ...