今日我的博客加入了一个新功能,阅读量统计···pdf电子书-css揭秘-下载

今日我的博客加入了一个新功能,阅读量统计···

感觉瞬间棒棒的

嗯,这个内容有点空洞,放出一个css资源

高清pdf电子书 css揭秘

快去下载

链接: https://pan.baidu.com/s/1q10_ikubVGTDhWNTIDwcjQ 密码: 5rf9

 

写给那些想转行前端,或者犹豫是不是在前端干下去的同学

入前端断断续续的在这行也10年有余,当初因为上大学阴错阳差的当了网络部长,由于导员想法颇多,给网络部很多任务,其中就有做学校的网站,刚入大一,除了数理化什么都不会,只能硬着头皮自学起来,幸好 有一个学长教了一些,网络部长还有一些同学,学的时候是一起学习,但是其他人都兴趣缺缺,但是我身为网络部长如果学不会都话那做网站都任务就要泡汤了,所以也许是这一种责任,或者是天然的兴趣促使自己学习下去,刚入行这其中会碰到很多各种各样的问题,有些问题根本无从解决,毕竟这方面的知识一片空白,我想这也是很多同学刚开始都会碰到的情况,也是入行的拦路虎,会拦下90%想要入行的同学吧

所以对于想入行的同学我给的建议是给自己一个不得不去学习前端知识的目标,比如帮助朋友亲戚去做一个网页,或是给心爱的妹子做一个网页的生日祝福,这样你学习下去的动力就有了,比自己枯燥的去看教程要有趣的多,目标明确的多

当入坑了之后,很多同学又会有一些困惑,比如不知道方向是什么,该学一些什么才能达到工作的要求,或是已经工作了不知道怎么提高,成为大牛,其实在我看来单纯的为了工作挣钱而没有骨子里对于前端的兴趣是不能成事的,也许会有意外,但是我觉得对于大多数人来说是适用的

请各位前端同学自行体会,当遇到了前端的难题是突然兴奋,瞬间来了精神?当看到一个新的轮子是特别感兴趣还是避之不及?当有一个新的需求发现需要学习新的知识是不是迫不及待要去完成?如果你没有这种感觉,那么我可能悲伤的告诉你,你也许不适合这行,请转行,或者维持现状吧

前端相对于其他it技术来说,需要很多能力,也会遇到很多莫名其妙的问题,如果没有一种自我驱动,自我学习的能力那么肯定不会有所建树。能做一个好的前端开发肯定能成为一个优秀的后端开发,但是一个好的后端不一定能成为好的前端开发,个人体验勿喷

如果你也有困惑给我留言,知无不言,一起提高

写好一份技术简历很重要

转自:https://www.jianshu.com/p/99f890ef36d4?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

前一段时间写了一篇博文《每年应该更新你的简历》浏览的同学不少,所以想多写写和简历有关的文章,这篇主要说的是如何写简历,为了缩小描述范围,强调的是技术简历,时间段是从准备写简历到投递简历之间。

写简历的基本目的和策略

大部分情况下,写简历是找工作的第一步,考虑到第二步就是面试,那么简历就是敲门砖,为了让企业认识到你的价值,必须把自己的真实水平描述出来,展现出你有能力应对这份工作。甚至要体现出自己是某方面的杰出人才,因为只有足够优秀的人,企业才能更看重你,因为你会为企业带来不一样的价值,对应的待遇也将更好。

所以写简历的根本策略就是如实的体现出你的水平和阅历,那么如何体现呢?不是通过说,而是有一定的方法论去证明你具备足够的才华,简历虽然不是论文,但也要有一定的论证,让看简历的人觉得你优秀。简历上的每一点应该是经过精雕细琢的,可推敲的,具备一定意义的。

简历应该是变化的

很多人不管投递给那家公司,都是一成不变的,不建议这样,简历是很重要的资料,不应该四处投递,应该珍惜,你投递每一份简历应该是深思熟虑的,是想获得那份工作的。

要对你投递简历的那家公司有基本的了解,业务方向是什么,公司企业文化是什么,从事的行业是你看好的吗;假如有可能,你应该了解你投递简历的具体部门是干什么的,是技术研发部门,还是应用开发部门;假如有渠道甚至应该了解你未来的职位是什么。
继续阅读写好一份技术简历很重要

移动端触摸数字转盘无限滚动实现思路

先看下效果,这个转盘的数字是从0-105,可以设置起始数字,那么之前的数字就变灰,不可选取,点击 加减号,会自动转动4个数字间隔,同时也可以手动触摸拖动,拖到终端105,自动回弹不可再拖动下去,同时选中的数字自动变黄···

好啦看下gif实现效果,或者点击查看,请滑动到第三屏

 

难点分析:

1、因为一个圆是360度,数字按照一定间隔排列比较合理的是18度排一个数字,那么一个圆形只能排列20个数字,其他数字如何生成?

2、如何判断当前选中并且加黄?

3、手指触摸拖动和圆盘转动的换算关系?

4、转动如何更加平滑有一定弹性

5、如何控制相应的数字显示隐藏来达到转盘数字一直增加或者减少的效果?

继续阅读移动端触摸数字转盘无限滚动实现思路

转载:程序员好日子什么时候到头,每一个程序员改看看

这样的问题让我不胜其烦。为子女未来前途操碎了心的长辈们,长辈们的朋友们,还有微信知乎上的朋友,像候鸟一样,在一年里的两个时间:春节期间和高考报志愿前夕,准时开问。我大概六月份回答过一位长辈的咨询,他说小陈,你说的好像很有道理的样子啊,应该发篇文章我好能转给我的朋友们。我说叔叔好啊,就写就写。结果开了个头,就因为懒的原因(主要是红包没到位),一直搁在今天。最近翻看 git repo 里面一票未完成的文章,这篇蹦了出来,伸长脖子一个劲儿地向我示意:poke me,poke me,所以,就有了大家看到的这篇文章。

文章有点长,可以直接跳到底部看结论 —— 但我知道,你们其实都有结论,就是心里不踏实,要找些定心丸 —— 那就还是看下去吧。

唐太宗说:以史为镜,可以知兴替。我们把视角拉到七十年前,看看历史上程序员这个群体是如何一步步壮大的。

社会和经济的变迁

虽然程序员的祖师娘是诗人拜伦的女儿 Ada,但第一个真正的程序员,是 Alan Turing。Alan Turing 不仅提出了图灵机,他还在最早的计算机上写过代码。如果说 1946 年 ENIAC 的诞生可算做通用计算机的元年,那么,当时程序员的数量可能只有不超过 10 个。

程序员这时还算不上一个职业 —— ENIAC 走出实验室后催生出来了一批计算机,这些计算机需要有人去使用,于是有了第一代「程序员」,他们大多是半路出家的数学家和科学家。
继续阅读转载:程序员好日子什么时候到头,每一个程序员改看看

如何让一个前端工程师从入门到放弃?

好啦 是开玩笑的,就是简单给各位新世纪前端同学介绍下 应该了解哪些内容才能成为一个真正的前端工程师,就是下面我要介绍的 js资源大全!

包管理器

管理着 JavaScript 库,并提供读取和打包它们的工具。

  • npm:npm 是 JavaScript 的包管理器。官网
  • Bower:一个 web 应用的包管理器。官网
  • component:能构建更好 web 应用的客户端包管理器。官网
  • spm:全新的静态包管理器。官网
  • jam:一个专注于浏览器端和兼容 RequireJS 的包管理器。官网
  • jspm:流畅的浏览器包管理器。官网
  • Ender:没有库文件的程序库。官网
  • volo:以项目模板、添加依赖项与自动化生成的方式创建前端项目。官网
  • Duo:一个整合 Component、Browserify 和 Go 官网的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。

继续阅读如何让一个前端工程师从入门到放弃?

比特币入门教程-转自阮一峰个人博客

原文地址:http://www.ruanyifeng.com/blog/2018/01/bitcoin-tutorial.html

比特币(bitcoin)诞生于2008年的一篇论文

一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你把它当作钱付给对方,怎么会有人愿意接受?

但是,狂想居然变成了现实。随后的几年,在全世界无数爱好者的支持下,比特币网络运行起来了,越来越多的人和资本参与,星星之火,终成燎原。刚刚过去的2017年,比特币迎来了爆发式的增长,从年初的1000美元,最高涨到了2万美元,全世界都为之震动,上到政府,下到普通百姓都在关注。事实就是比特币已经并将继续改变世界。


继续阅读比特币入门教程-转自阮一峰个人博客

区块链入门教程–转自阮一峰博客

原文地址:http://www.ruanyifeng.com/blog/2017/12/blockchain-tutorial.html

区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。

可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。

下面,我就来尝试,写一篇最好懂的区块链教程。毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。我希望读完本文,你不仅可以理解区块链,还会明白什么是挖矿、为什么挖矿越来越难等问题。

继续阅读区块链入门教程–转自阮一峰博客

理解正则表达式—-环视

环视只进行子表达式匹配,不占有字符,匹配到的内容不保存到最终的匹配的结果,是零宽度的,它匹配的结果就是一个位置;环视的作用相当于对所在的位置加了一个附加条件,只有满足了这个条件,环视子表达式才能匹配成功。环视有顺序和逆序2种,顺序和逆序又分为肯定和否定,因此共加起来有四种;但是javascript中只支持顺序环视,因此我们这边来介绍顺序环视的匹配过程;

如下说明:

1.  (?=Expression):  

顺序肯定环视,含义是所在的位置右侧位置能够匹配到regexp.

2. (?!Expression)

顺序否定环视,含义是所在的位置右侧位置不能匹配到regexp

顺序肯定环视

先看如下图:

 

首先我们需要明白的是:^和$ 是匹配的开始和结束位置的;?= 是顺序肯定环视,它只匹配位置,不会占有字符,因此它是零宽度的。这个正则的含义是:

以字母或者数字组成的,并且第一个字符必须为小写字母开头;

匹配过程如下:

首先由元字符^取得控制权,需要以字母开头,接着控制权就交给 顺序肯定环视 (?=[a-z]); 它的含义是:要求它所在的位置的右侧是有a-z小写字母开头的才匹配成功,字符a12,第一个字符是a,因此匹配成功;我们都知道环视都是匹配的是一个位置,不占有字符的,是零宽度的,因此位置是0,把控制权交给[a-z0-9]+,它才是真正匹配字符的,因此正则[a-z0-9]+从位置0开始匹配字符串a12,且必须以小写字母开头,第一个字母是a匹配成功,接着继续从1位置匹配,是数字1,也满足,继续,数字2也满足,因此整个表达式匹配成功;最后一个$符合的含义是以字母或者数字结尾的;

顺序否定环视 

当顺序肯定环视匹配成功的话,顺序否定环视就匹配失败,当顺序肯定环视匹配失败的话,那么顺序否定环视就匹配成功;

我们先看如下图:

源字符串:aa<p>one</p>bb<div>two</div>cc 

正则:<(?!/?p\b)[^>]+>

正则的含义是:匹配除<p>之外的其余标签;

如下图:

匹配过程如下:

首先由”<” 取得控制权,从位置0开始匹配,第一个位置和第二个位置都是字符a,因此匹配失败~ 接着从位置2匹配,匹配到<, 匹配成功了,现在控制权就交给(?!/?p\b);?!是顺序否定环视,只匹配一个位置,不匹配字符,这个先不用管,首先是 /? 取得控制权,它的含义是:可匹配/,或者不匹配/, 接着往下匹配的是p字符,匹配失败,进行回溯,不匹配,那么控制权就到一位了p字符,p匹配p,匹配成功,控制权就交给\b; \b的含义是匹配单词的边界符,\b就匹配到了 > ,结果就是匹配成功,子表达式匹配就完成了;/?p\b 就匹配成功了;所以(?!/?p\b) 这个就匹配失败了;从而使表达式匹配失败;我们继续往下匹配,从b字符开始,和上面一样匹配失败,当位置是从14开始的时候 < 字符匹配到”<”,匹配成功,把控制权又交给了(?!/?p\b), 还是/?取得控制权,和上面匹配的逻辑一样,最后?p\b匹配失败了,但是(?!/?p\b) 就匹配成功了,因此这一次表达式匹配成功;如下代码匹配:

var str = “aa<p>one</p>bb<div>two</div>cc”;

// 匹配的结果为div,位置从14开始 19结束

console.log(str.match(/<(?!\/?p\b)[^>]+>/)[0]);