自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Picking_up_stones的博客

如果你知道自己去哪,全世界都会为你让路

  • 博客(91)
  • 收藏
  • 关注

原创 ant-design-pro使用总结

前言从上篇博客到现在转眼已经过去了半年,从今天开始博客算是重新捡起来了。从去年12月份开始就写毕设,写毕设的开始也是学习React的开始,后来毕设项目决定使用蚂蚁金服的ant-design-pro框架,毕竟也是刚开始学习React,刚从github拉下来有点懵,不明白那么多模块之间是如何调用的,数据如何和页面关联,伴随着这些疑问去学习了Redux,然后使用Redux写了个TodoList的小D...

2018-05-24 18:30:15 9125 1

原创 react+redux的升级版todoList

又是很久不写博客了,最近在用蚂蚁金服的ant-design-pro写毕设,写着写着写不下去了,很多东西都不理解,不得不说大神写出来的东西都是需要花学习成本的,或者底子好,对于React新手来说就有点难了。所以就老老实实的认真看了下Redux到底如何使用,在这里推荐一下自己最近在看的书,写的算是比较详细的:《深入React技术栈》。废话不多说,今天就分享下自己如何使用redux来实现一个todoLi...

2017-12-18 14:44:33 1356

原创 用React实现一个完整的TodoList

前言:算起来已经有一个多月没有写博客了,近来懈怠了不少,也不知道要写些什么,最近学了一段时间的React,一直都在看些理论性的知识,总觉得应该写个什么来练练手,所以还是拿个简单的todoList来举个例子吧!一. 首先根据效果图讲一下要实现的功能吧 (1)可以添加任务; (2)已完成任务以及未完成任务的颜色区分开; (3)进行添加任务,修改任务状态,以及删除任...

2017-10-28 15:53:23 6670 4

原创 单页面应用路由的实现方式

好久不曾写博客了,九月以来一直忙着笔试面试,都已经两旬过去了,如今还是两手空空,再怎么受挫,再怎么不如意,该走的路一步都不能少,今天就来总结下面试时被问:到单页面应用的路由是如何实现的?如今前端框架层出不穷,手机端单页面应用越来越多的出现在人们的视野中,作为前端开发者,掌握一两中主流框架是很有必要的,了解ajax的都知道ajax异步刷新页面是不会存在历史记录中的,也就是我们不能通过浏览器的前进和后退

2017-09-20 22:27:14 2525

原创 Rgb颜色和十六进制颜色值的相互转换

前言:最近答了各大厂的笔试题,答得都很不好,还是基础太差了,尤其在正则表达式方面老是不会写,今天就做两个练习题巩固一下。一. 将rgb颜色值转换为十六进制值输出,转换前验证rgb的格式是否正确关于这个题主要就是考察正则表达式的运用了1 . 验证rgb的正则表达式:var reg = /^rgb\((\s*[1-2]?[0-9]?[0-9]{1}\,)(\s*[1-2]?[0-9]?[0-9]{1

2017-08-27 16:57:37 3736

原创 浏览器的缓存机制

前言:在前天的面试中被问到了浏览器是如何实现缓存的,当时回答的乱七八糟,所以今天就总结一下关于浏览器缓存的知识,希望给自己加深印象,也能帮到更多有需要的人。一. 资源为什么需要被浏览器缓存?因为有些网站作为普通用户我们可能会每天都访问,或者在进入网站后,我们会多次访问同一个页面,如果每次都从服务器去加载资源的话,一直在做重复的事,对服务器来说会是一种浪费,对用户来说,每次请求资源都需要去等待服务器发

2017-08-23 18:29:46 462

原创 用Vue实现个人博客的前端界面

上一次认真的学习使用Vue已经是四月份的事了,当时只是简单的就像使用jQuery一样,直接引入页面,没有使用任何组件、路由,写了个cakeroom的小demo,感兴趣的可以去看下: github展示链接:https://lwjcode.github.io/cakeroom/view/home.html这次就更加深入的学习如何使用vue-cli,去组件化的开发一个项目;以及如何使用路由vue-...

2017-08-09 12:21:50 26268 3

原创 Vue+NodeJS的跨域请求如何保存session

今天一直在练习如何使用Vue,就把自己之前用node写的个人博客改改,拿来当接口,涉及到跨域请求的问题,接下来简单的说下自己所遇到的问题,和解决方法。一. 用cors来实现跨域请求:一想到跨域请求,脑子里首先出现的是jsonp,但是jsonp只能是get请求,在向后台提交数据时显然用get是不合适的,所以选择用cors,用cors时后台要实现相关的配置,如下:var app = express();

2017-08-04 21:46:36 4469 1

原创 JavaScript预解析

JS是解释型语言,在运行前不需要编译,也就是边解释边执行,但是在执行之前有一个预处理的过程,以便在后续的执行过程中确定程序的上下文关系。一. 预解析的对象是什么?预解析是针对var声明的变量或函数,以及用function声明的函数,和函数定义时的形参,都会进行预先的声明并赋初值。(1)对于var: 在处理用var声明的变量或函数时,会赋初值为undefined,尽管在声明时已经赋初值,但预解析阶段

2017-08-04 13:59:57 468

原创 JavaScript实现浏览器顶部的进度显示条

后来打开很多网页在导航栏顶部都有一个进度显示条,就在想如何显示进度呢?那样的JS要如何写?如何知道网页加载到哪了呢?就上网搜了下如何实现,发现实现的思路很巧妙,今天来简单的总结下。一. 原理原理特别简单,我想知道浏览器是如何解析并渲染网页的都知道,HTML文档的代码是按照出现的顺序,从上往下一条一条的执行的。所以我们就可以根据网页代码执行的顺序在合适的位置加上JS代码,去控制进度条的长度变化就可以了

2017-08-02 20:55:14 3032 2

原创 github错误:Permission denied to deploy key......

前言:今天从队友那里克隆了仓库,在更新后想要提交,但push后一直报错:permission denied to deploy key......,特别无奈,在网上搜了很多帖子,也没说具体的解决办法,所以就只能把之前在github配置的ssh key删掉了,重新生成Key,再添加。生成并添加ssh key的步骤:1 . 在命令行中输入如下://将[email protected]改成自己的

2017-07-30 20:53:00 2771 2

原创 JavaScript中的观察者模式

前言:在各种设计模式中,观察者模式具有很重要的应用,比如前端很流行的框架Vue.js就是基于观察者模式实现的,最近也了解了下观察者模式的实现原理,简单的说就是一个对象改变了,观察者察觉到了这种改变,它将这种改变通知给所有和这个对象有关的函数,然后这些函数被调用并执行。一. 观察者模式的实现原理如前言中所说,观察者具有观察和通知的职责,那么它是如何来实现这两个职责的呢?所谓观察和通知,就是一旦数据变化

2017-07-28 17:59:25 479

原创 Node.js实现注册邮箱激活功能

今天了解了node如何实现邮箱激活功能,这个功能非常常见,当我们注册一个账号时,肯定会有这步,下面看下如何实现这个功能。一. 先注册一个支持发送验证邮件的邮箱,网易的126邮箱就可以 注册成功后进行登录,然后点击导航栏的设置,选择POP3/SMTP/IMAP,开启POP3/SMTP/IMAP服务,设置授权码就可以了。二. 下载nodemailer插件 在命令行输入:npm install

2017-07-22 22:42:56 7171 1

原创 Node.js中的module.exports和exports的区别

之前有了解Node.js的相关内容,也有用node.js和express框架写过一个个人博客,然而对于一些原理性的知识还是知之甚少,今天看到自己写的博客项目上面有用到exports和module.exports两种方法来导出一些模块,方便之后的模块去引用,就看了下两者的区别。下面是我的总结:一. 两者的常见用法:1 . exports的常见用法:exports.name = 'XXX';expor

2017-07-22 15:42:56 407

原创 JavaScript惰性载入函数

因为各大浏览器所使用的JS引擎不同,所以在实现某一个功能时都或多或少的存在差异,导致在写代码时要针对每一个功能给出兼容浏览器的不同实现方式,这样在运行代码时就会造成性能的损耗。所以就出现了惰性载入函数的概念。原理就是:当前浏览器第一次支持以该方法实现某功能,那么在这个页面运行期间会一直都支持该方法。一般在写兼容性较好的代码时,我们会使用多个if分支语句来判断当前浏览器支持哪种方法,这时如果每次调用函

2017-07-18 18:39:54 518

原创 支持POST的跨域请求CORS

关于跨域请求在之前已经总结了JSONP方法,Fetch方法,还有XDM方法,但是这些方法都只支持GET方法,不支持POST方法,所以今天就来简单的总结下,关于支持POST方法的跨域请求如何实现。一. CORS简介CORS是Cross-Origin Resource Sharing的缩写,翻译过来就是,跨源资源共享。CORS的实现原理就是使用自定义的HTTP头部让浏览器和服务器进行沟通,从而决定请求或

2017-07-17 21:12:44 3352

原创 跨域请求XDM

前言:今天又get了一个跨域请求的新方法,跨文档消息传送(cross-document messaging),简称为XMD,这是一个兼容性比较好的实现跨域请求的方法,截止目前算上这篇博客已经总结了三种跨域请求的方法,分别是jsonp,fetch(ES6的,老版浏览器不支持),xmd。对其他两种不了解的请看这两篇博客: http://blog.csdn.net/picking_up_stones/a

2017-07-16 18:35:50 969

原创 Linux中的进程间通信

在Linux中进程间通信有很多种方法,可以使用普通的文件,或者命名管道,以及共享内存都可以实现进程间通信,下面是几种实现方式的代码。一. 使用普通文件实现进程间通信服务端实现:#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <string.h>int main(int argc, char *argv[]){

2017-06-27 21:30:53 373

原创 Linux中的重定向和管道

一. 重定向重定向有输入重定向,输出重定向,追加重定向,以及错误重定向。1.重定向命令: 输入重定向 more 输出重定向 cat file>result.txt 追加重定向 ls–l>>list.txt 错误重定向 ./myfile 2>err.txt2.重定向在代码中的实现实现重定向的三种方法 (1)close … open#include <stdio.h

2017-06-27 20:24:36 817

原创 Linux中的进程

上篇大概总结了Linux中关于文件的一些知识,这篇就总结一下Linux中关于进程部分的知识要点。一. 创建进程 创建进程可以使用fork或vfork函数,两者的区别在于,fork创建的子进程会复制父进程的属性和资源,子进程对资源做出修改,父进程不可见,即两者拥有彼此独立的内存空间。而vfork创建的进程,父子进程共享资源和变量,子进程对资源做出修改,也会影响父进程,即两者共享同一内存空间,而且子

2017-06-26 20:54:51 348

原创 Linux文件系统

这学期选了linux高级编程这门课,马上要期末考试了,最近这几天在认真的复习,所以就把所学的知识做一个简单的总结,不然总觉得一遍过后什么也留不住。一. Linux的文件结构我相信大多数人都使用过Windows操作系统,它最顶级的文件结构是多个并列的树状结构,将物理磁盘分为C、D、E、F等,如下图:Linux与Windows有很大的不同,它是一个单列的树状结构,只有一个根目录,不同的目录都挂在同一个根

2017-06-25 20:10:42 396

原创 CSS悬浮下拉菜单

这是前端时间课设时写的一个简单的下拉菜单,主要就是对CSS定位和选择器的使用,下面是实现代码:CSS代码: .list-menu{ display: flex; background: #f7f7f7; border-radius: 5px; padding: 10px 0;

2017-06-20 21:16:11 1382

原创 JavaScript分页插件

前一段时间课设时,写了个分页插件的半成品,最后并没有派上用场,然而今天无意间看到了,就改造了一下,算是比较完整的插件。 已上传至github:https://github.com/lwjcode/paging 因为之前在做一个OJ,需要敢不同的算法,数据结构等对题目分类,自然分页时也需要携带相对应类别的参数。所以就写了个除了可以指定当前页和最大页,还可以指定某种类型。使用方法:...

2017-06-19 22:32:29 343

原创 CSS文本超出n行就隐藏并显示省略号

文本超出若干行就换行,这个功能几乎每个文本浏览网站都会用到,实现它的办法也有很多,今天简单的介绍一下实现它的方法。一. 单行文本不换行,并将超出文本隐藏.box-content{ overflow: hidden; text-overflow: ellipsis; white-space: nowarp;}效果如图:这样会在文本末尾显示一个省略号。二. 在Webkit内核的

2017-06-18 16:34:46 3236

原创 OJ的前端界面实现

持续两周的课程设计结束了,本次已经是我们小组第三次合作了,相比以前大家都进步了很多,所以合作还是很顺利的。我们这次做的是一个OJ(Online Judge在线检测代码的平台)。我想作为一个喜爱编程或者学习编程的人或多或少都有接触过算法,本人曾经也刷过一些算法,可是相对组长的题量简直是九牛一毛,我想一个对于算法这么有研究的大神,肯定特别想做个自己的OJ,这是一种情怀,最近觉得好像学习计算机的人都特别有

2017-06-12 13:57:41 1576

原创 用Nodejs完成自己的个人博客

开始这个个人小项目已经有一段时间了,一直断断续续的,直到今天总算是初见雏形,所以就很想和大家分享一下实现的过程。首先这个的初衷就是学习nodejs,看了几天的书,自己就照着书上的代码来敲,可是由于自己安装的node是最新版,然而书比较旧,好多都不能正确运行,我想了解node的都知道它几乎每天都在更新,出现这样的情况也是必然的。所以想了下,还是在github上找个别人的项目拿来练练手,看一下项目是如...

2017-06-03 14:06:20 11421 10

原创 微信小程序和用网易新闻api实现自己的微信小程序

每次因为看见别人写的新东西,自己就也想做一个,不知道是不是一个好习惯哎。微信小程序已经出来很久了,最近才开始学了一点皮毛,做了个小东西,用到了网易新闻接口,实现了小程序上的新闻浏览。但是很遗憾没有通过审核,因为含有时政信息,让选成企业小程序,企业小程序的认证需要注册公司的才可以,所以就没办法了。不说这些伤心的事了,接下来看一下实现的过程吧。一. 实现截图二. 网易新闻api ...

2017-05-09 23:31:54 9771 1

原创 nodejs中的继承

这几天集中注意力看了下nodejs,感觉打开了一扇新的大门,他和熟悉的java语言很不一样,写几行很简单的代码就可以创建服务器连接,当然这背后多亏了chrome的v8 JavaScript引擎。废话有点多,接下来步入正题,看看node中的继承和客户端js有什么不同吧。一. Javascript客户端继承我想熟悉js的同学,关于js的继承一定不陌生,实现继承有很多中方式,最常用应该就是借用构造函数继承

2017-05-09 20:48:46 1806

原创 vue实现webapp

最近看了点vue框架,关于它的资料和angular相比还是比较少的,但是官网的文档很全面,想要了解的知识点文档上基本都有,所以就看了下文档,一边学习一边写了个小程序,觉得vue还是很好上手的。大大的提高了编码效率,我们根本不需要dom操作,vue将他们都实现了,我们只需要去关系数据如何变化,以及样式的部分。 展示链接:https://spiritliftedhigh.github.io/caker

2017-04-25 19:17:25 1268

原创 用HTML5audio组件实现一个音乐播放器

心血来潮就用h5的新标签写了个简单的音乐播放器,实现的过程还是很简单的,对于前端来说最难的部分应该是让音乐盒歌词同步了吧。下面简单的说一下实现的步骤吧!先看一下成品的图片吧:一. 首先去网站下一些lrc歌词文件,一定要和歌曲的版本对应,不然是不会同步的。二. 解析lrc文件这一步是很重要的,由于js只能通过事件来上传文件(点击input[type=file]按钮),所以我们不能...

2017-04-21 22:34:22 3818 1

原创 使用百度天气API实现自己的天气预报

昨天在简书看到一篇帖子是关于百度天气API的,感觉很棒,所以今天自己也写了个自己的天气预报,利用jsonp跨域请求,实现自己的天气预报展示。展示github链接:https://lwjcode.github.io/weatherForecast/weather.html 如图: 最主要的肯定是js了,接下来看一下如何实现:1. 获得自己所在的当前城市这个百度地图给了API,我们...

2017-04-17 20:42:23 29882 7

原创 JavaScript中的delete运算符

一. delete概述先看下面的一些delete的操作://删除全局变量str = "nihao";console.log(delete str); //trueconsole.log(str); //报错//删除对象成员var obj = { name: 'lihua', age: 33};console.log(delete obj.name); //trueco

2017-04-15 22:35:47 589

原创 JavaScript中的eval函数

相信知道js的肯定都知道js有一个功能强大的函数,就是eval(),它可以来执行一个表达式或者一段语句,下面就来具体看一下这个函数是如何使用的。一. 参数该函数的参数是一个字符串,字符串可以是表达式、语句、或者一个函数,如下:(1)声明一个变量eval('var x = 1;');console.log(x); //1(2)执行一个表达式var a = eval('1+2');console

2017-04-15 17:15:47 577

原创 今日头条面试总结——instanceof原理

每次面试都会遇到各种自己从来没想过的问题,这才是面试的难点所在,所以作为面试者应该将自己所学知识融会贯通,这样才会回答的知其然,知其所以然,我想这才是面试官希望看到的。所以基础扎实是多么的重要。问题:typeof能干什么? 回答:判断基本类型的,比如:Number, Boolean, Undefined, String, Null, 其他的引用类型和Null会返回object;问题:如果一个对象是

2017-04-11 12:02:32 5879 2

原创 今日头条面试总结——闭包和this

今天参加了今日头条的面试,好不容易过了笔试,却在一面就挂了。面完后真的想抽自己,关于this和闭包明明是懂的,可是面试官考察到这里的时候就有点懵,面试完不到五分钟就知道了正确答案应该是什么。怎么老这样,真的应该张张记性了。由于刚面试完对题的记忆还是比较深的,题目如下:一. 闭包var funcs = [];for (var i = 0; i < 5; i++){ funcs[i] = f

2017-04-10 20:18:16 835 1

原创 ES6的Fetch异步请求

在前端的快速发展中,为了契合更好的设计模式,产生了Fetch框架,Fetch返回的信息比XMLHttpRequest更丰富。但它目前还不是一个标准,它支持大部分常用的http 请求和响应的标准。一. 一个完整的post请求和响应的过程 var url = "/fetch"; fetch(url,{ method:"post",

2017-04-05 20:10:39 13759

原创 href和src的区别

关于href和src一直都有用,可是一直都是惯性思维,在遇到link和a时就用href,在遇到img和script时就用src,一直都不知道为什么,以及两者有什么区别。今天就来简单的总结下:(1)href用在link和a等标签上,src用在img和script等标签上; (2)两者在使用时的差异href是引用和页面关联,是在当前元素和引用资源之间建立联系,比如点击a标签时,页面会跳转到href所

2017-03-28 14:01:00 746

原创 说不完的JavaScript的作用域

昨天在作某厂的笔试题,答的一塌糊涂,感觉很熟悉,却又说不出正确答案,还是因为平时真正深刻理解的东西太少,关于js的作用域问题是个永远都说不完的话题,昨天就遇到了。题目大概如下:var user = { name: "jack", getname: function(){ return this.name; }};var obj = user.getname;

2017-03-26 18:38:52 324

原创 Tomcat8启用gzip压缩实现网页性能优化

关于性能优化有很多方法,启用gzip压缩是其中的一种,也是最直观的。所谓压缩就是,将原始文件变得更小,这样浏览器加载的就可以更快,用户的等待时间就会减少,体验就会提升。 如果你使用的是Tomcat8的服务器,就可以按照下面的方法来做。一. 找到Tomcat下的conf文件,并打开其中的server.xml文件,找到如下内容:<Connector executor="tomcatThreadPool

2017-03-24 22:41:52 602

原创 前端性能优化CDN

最近看了下关于网页性能优化的内容,今天简单的总结下CDN如何来完成网页的优化。一. 什么是CDN英文全称是:Content Delivery Network,翻译过来就是内容分发网络。它是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。如下图所示:从图中可以看出

2017-03-24 21:41:41 782

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除