我来了……

认真学习快乐工作

关于优秀的思考

chalecao 发布于 2018-09-22

我们可以要求自己优秀,并一直优秀,但是我们不能奢求他人和我们一样优秀。总结一句话,让自己更优秀,让别人更开心。 事实就是这样,我们要做有益于他人,有益于自己的人。从自己做起,我们可以对自己要求苛刻,可以要求明天的自己比今天更好,但是我们的目的是服务群众,服务他人,所以我们自然也不能要求别人和自己一样,用自己的标准要求或者规范别人,这是不合理的。也违反了哲学,具体问题具体分析,每个人都有自己的路要走,怎么走都是自己的选择,自己要承担后果。所以可以强求自己,何必强求别人呢? 最近听媳妇总是说自己公司不行了,想要换工作。于是呢我就让她好好准备简历,准备面试,给她提了很多要求,本想帮她上升一个新的高度,但是这也无形之中增加了她平时工作的压力,准备面试的压力。也导致了很多矛盾。回头...

阅读(88)

人工智能帮你写代码的秘密与实践

1

chalecao 发布于 2018-09-13

其实,我很早就有这个想法了。大约是2011年,刚接触编程,经历过各种折磨之后,多么想编写个能自动为我编写程序的程序啊。可是我真不知道无从下手。 现在,人工智能,深度学习,神经网络。。。各种牛逼的技术频频出现。突然想起来,我的研究生方向就是模式识别与人工智能,虽然学了跟没学没啥两样,但是我记住了这个名字。模式识别与人工智能,那么首先第一步就是模式识别,然后才有人工智能。是啊,慨叹10年前的Watson,有慨叹1年前的alpha go的胜利。那么我想搞个智能写代码的程序就真的这么难么,真的需要电影🎬里面的n阶差分模型,量子编程么? 动态脚手架 事实上,我们正在一步一步靠近。比如我们用的脚手架工具,这不正是帮助我们完成部分代码吗?更高级一点现在玩的动态脚手架,动态定义模板,动态...

阅读(96)

前端面试STAR法则

1

chalecao 发布于 2018-09-05

前端面试 说起面试,总会感觉心慌慌。可能是不自信,可能是感觉好多没准备好。没关系,既然投了简历,又通过了筛选,就不要胆怯。面试官也只是想聊聊你的具体情况。既然面试官愿意花时间和你聊,那么证明自己还是有实力的,有被看中的发光点,那么有什么好心虚的呢,勇敢自信的面对就好了。 说起我自己,我觉得自己有一点社会交际恐惧症。可能是之前工作太拼命了,觉得脑子瓦塔了。很多时候在和同事交流的时候,总感觉有些想法表达不出来,或者是说不清楚。内心了也担心自己说不清楚,于是越说越紧张,结果说的是一塌糊涂。本来很清晰明了的事情,由于内心的着急担心,或者说是一种不自信,更是雪上加霜的有一次伤害了自己。 大家都是做技术的,说傻也不傻,说笨也不笨,我们需要的,就是那么一丢丢的自信。 STAR法则 S ...

阅读(155)

如何成为一个好的team leader

1

chalecao 发布于 2018-08-13

我是一名普普通通的前端工程师,自学前端,之前在网易带过一年团队,后来转到阿里做技术开发。其实我来阿里一半是为了学习技术,一半是为了学习管理。 作为技术宅,我并不善于交流与表达,不善于打理人际关系。总觉得世事繁杂,不喜欢那种阿谀奉承、阴奉阳违的人;不喜欢那种只做表面功夫爱表现,实质上投机取巧偷、抄、拿的人。但是我也承认,工作上这类人却总是能先获得所谓的“成功”。本文并不是告诉你如何成为这类人,而是结合我自身的工作经验和所思所想和大家分享如何才能成为一名好的技术leader,同时也告诫自己如何做一名合格的技术开发,然后顺利的晋升为技术leader。 虽然路途遥远,但我也未曾放弃过。       -皓眸 今天看了一段美国12岁神童做的TED演讲,里面提到最多的词就是forget...

阅读(253)

工作,是一种艺术

chalecao 发布于 2018-07-16

smile lovely! 笑,具有感染力。它是通过声音,温暖你我他。这是一种自然的,潜在的,内心中最简单、最纯洁的交流方式。 如果你是发自内心的笑,表达那种欢乐愉快的心情,你会发现你旁边的人会跟着你笑。但如果你是假笑,敷衍奉承的笑,那么就没有一点味道,反而会透露出每个人的品性。 就汉语而言,笑有很多种,可以按层次来划分。 微微一笑,show time。   工作是一种情怀,关键是如何让别人开心,让自己开心,工作的内容只是一小部分。 未经允许不得转载:前端学堂fed123 » 工作,是一种艺术

阅读(149)

chrome dev远程调试android 和ios

3

chalecao 发布于 2018-07-16

调试是开发过程很重要的过程,而随着移动端的普及,移动开发也越来越多,并且由于移动端的诸多限制,使得调试相对PC复杂很多。因此远程调试就显得非常重要了。 近几年,浏览器厂商也纷纷推出自己的远程调试工具,比如Opera Mobile 推出的Opera Dragonfly,iOS Safari 可以开启Web检查器在 Mac OS X系统中实现远程调试。Android 4.0+系统的 Chrome for Android可以配合 ADB(Android Debug Bridge)实现桌面远程调试,桌面版Chrome 32+已经支持免安装ADB即可实现远程调试移动设备页面/WebView 。国内的UC浏览器开发者版也推出了自己的远程调试工具RemoteInspector。除了浏览...

阅读(718)

区块链算什么革命?

chalecao 发布于 2018-07-09

现在很多言论都宣称加密货币和区块链技术能改变一切(至少能创造财富)。当然也有相当多的言论说这些都是骗局,无用、危险的技术。而作为大部分的吃瓜群众,我们仍然不知所措。主要的问题争执点在于这两种言论说的并不是同样的事情。 事实是并不只区块链这一种技术备受争议,而是三种。这三种技术应用有共同的设计准则和技术基础,但是人员、目标和前景却完全不相同。我们先把这些技术分类下: 加密货币,这种思想是互联网可以安全的去中心化的方式完成交易,价值转移。 区块链,这种思想是互联网可以越过信息的信任边界共同协作达成共识。 加密资产,这种思想是虚拟货币可以金融化成为可以交易的资产。 加密货币确实是全新的一种概念,但是最终的评判标准是这种新概念最后是否能够成功运用。区块链和加密资产是改变整个游戏规...

阅读(151)

ios低版本中JavaScript的兼容性问题

chalecao 发布于 2018-05-08

forEach遇到NodeList 注意在ios9中,如果使用document.querySelectorAll,那么返回的是一个NodeList,这个是不可以用foreach语句的,会报错,导致后面脚本阻断。ios10及其以上可以的 分析原因: 使用babel并不会对forEach进行转义,页面引入的babel-polyfill只是在Array的原型上补充了forEach方法,所以在用到像这种获取元素节点列表的时候存在兼容性问题。 position:sticky ios9系列版本下,查了caniuse.com 应该是支持-webkit-sticky的,但是显示有bug,位置错乱,特别是当你把position切换成fixed时候,会出现位置错乱。解决方法是默认用posit...

阅读(657)

如何降低前端开发的复杂度

2

chalecao 发布于 2018-04-28

优秀的程序员总是能优雅的组织自己的代码,清晰的编写思路,合理的组织结构划分,从小的功能组件,到大的模块结构,都能通过合理的巧妙的搭配,不仅能化复杂为简单,更能提升代码运行效率,提高代码的可维护性。我们作为前端开发,都应该具有这样的能力。 那么如何才能降低业务开发的复杂度呢? 细分组件 都说模块化开发,其实在AMD,CMD这些思想规范之前就已经有模块化开发的规范了,虽然JavaScript标准从es1-es4 然后隔了n年才有了es5,在那N年基本都是‘函数式开发’,一切皆函数。之前还没有模块化加载的思想,毕竟也不需要,富客户端还是flash的天下,基本都是简单的网页嵌套一些后端的代码逻辑,然后通过后端渲染引擎渲染或者解释器解释产出html页面,什么ASP,PHP,JSP等...

阅读(379)

曾经基于canvas实现的飞机大战

4

chalecao 发布于 2018-04-07

首先看几张效果图: 上面三张图分别对应游戏的三种状态 ready,play,pause。体验一下 先介绍一下canvas 画图的原理,在这个游戏中的背景,飞机,子弹以及飞机被击中爆炸的效果都是一张张的图片,通过canvas的 drawImage() 函数把这一帧需要的所有图片按其所在的位置(坐标)画到画布上,当然有时候也需要画些文本,比如左上角的得分;然后接着画下一帧,同时改变飞机和子弹的位置;画下一帧之前一定要清除画布(通过这个函数 clearRect(x,  y, width, height)),不然就是下图的效果啦: 辣眼睛!!! 不过在本例中因为每帧都要重新画上背景图,背景图又是填满整个画布的,所以画背景图时就等于把上一帧全部覆盖了,也就相当于清除画布了。 下面我...

阅读(426)

前端工程师自学面试找工作必备知识

1

chalecao 发布于 2018-03-26

前端工程师自学面试找工作必备知识 视频课程链接地址:http://t.cn/RnWsTgB 限时优惠:免费课程 详细博客地址:http://www.fed123.com/2016_web_front/ 前端进阶系列课程 《用JavaScript自己写MVVM前端框架》:http://t.cn/REeKJp0 《前端函数式编程FP易学易用》:http://t.cn/REeKVSk 《前端自己用NodeJS编写区块链BlockChain》:http://t.cn/REeoF7v 《程序语言进阶之DSL与AST实战解析》:http://t.cn/R3XoQJA 适用人群 前端基础自学课程,前端小白,刚入门、毕业即将找前端工作的同学都可以更加系统的学习前端知识。 课程概述 本教程...

阅读(806)

前端自己用NodeJS编写区块链BlockChain

1

chalecao 发布于 2018-03-06

前端自己用NodeJS编写区块链BlockChain 视频课程链接地址:http://t.cn/REeoF7v Github地址:https://github.com/chalecao/blockchain-in-nodejs 前端进阶系列课程 《用JavaScript自己写MVVM前端框架》:http://t.cn/REeKJp0 《前端函数式编程FP易学易用》:http://t.cn/REeKVSk 《前端自己用NodeJS编写区块链BlockChain》:http://t.cn/REeoF7v 《程序语言进阶之DSL与AST实战解析》:http://t.cn/R3XoQJA 适用人群 参加学习的同学需要一点JavaScript知识和NodeJS的知识。建议可以先学习...

阅读(715)

前端函数式编程FP学习路线

21

chalecao 发布于 2018-03-03

前端函数式编程FP易学易用 课程地址: http://t.cn/REeKVSk GIT代码: https://github.com/chalecao/fp 前端进阶系列课程 《用JavaScript自己写MVVM前端框架》:http://t.cn/REeKJp0 《前端函数式编程FP易学易用》:http://t.cn/REeKVSk 《前端自己用NodeJS编写区块链BlockChain》:http://t.cn/REeoF7v 《程序语言进阶之DSL与AST实战解析》:http://t.cn/R3XoQJA 适用人群 具有基础的JavaScript(ES5、6)知识,建议先学习本系列专题《手把手教你写MVVM前端框架-vm篇》课程。 课程概述 本节课和大家一块学习函数式...

阅读(654)

Chrome开始集成图形识别 API(Shape Detection API)

chalecao 发布于 2018-02-24

最近,Chrome团队尝试在Chrome中集成了一套与图形识别相关的API,使得图形识别这种以前只在原生应用中存在,或者在浏览器上,要借助其他难用的外部库才能实现的功能,现在只要少量代码即可实现。这些API包括人脸识别,条形码/二维码识别和文本识别,基本上覆盖了当前互联网应用的大部分场景。 现状 图形识别这种对系统资源和设备的计算能力要求颇高的功能,通常只有底层的原生API能驾驭,流行的框架主要是开源的Open CV和各大移动平台的图形识别服务: Android iOS Windows 条形码 vision.barcode CIFaceFeature BarcodeScanner 人脸 vision.face CIQRCodeFeature FaceAnalysis 文本...

阅读(459)

用JavaScript自己写Virtual DOM

13

chalecao 发布于 2018-01-08

用JavaScript自己写virtual DOM 课程地址: http://t.cn/REeKJp0 Github代码: https://github.com/chalecao/virtualdom 前端进阶系列课程 《用JavaScript自己写MVVM前端框架》:http://t.cn/REeKJp0 《前端函数式编程FP易学易用》:http://t.cn/REeKVSk 《前端自己用NodeJS编写区块链BlockChain》:http://t.cn/REeoF7v 《程序语言进阶之DSL与AST实战解析》:http://t.cn/R3XoQJA 适用人群 帮助前端感兴趣的同学理解Virtual DOM相关知识,需要有HTML基础和JavaScript基础知识(含...

阅读(1082)

每日一击:z-index与translateZ

1

chalecao 发布于 2018-01-03

我们在写样式的时候,经常会用到 transform: translate3d(0px, 0px, 0px),据说这个还能开启浏览器动画硬件加速。但是你知道吗,这里面包含了一个坑,那就是translate3d(0px, 0px, 0px) 实际上包含了translateZ: 0px; 这个属性和z-index在一起使用的时候,z-index是失效的。 z-index 通过z-index控制z轴,需要配合position属性,且position的属性值为relative、absolute、fixed和sticky时。并且给z-index显式的设置数值,数值越大,其层级越高。简单点说,数值越高,元素越在顶上。 transform transform可以通过它的translate...

阅读(578)

如何提升网页用户体验

3

chalecao 发布于 2017-11-15

“Slow” 改变DOM结构会使网页变慢? 在<head>中加载script? JavaScript 动画要比CSS3动画效率低? 20ms的操作算不算慢呢? 0.5s? 10s呢? “慢”是指什么? 不同的操作需要花费不同的时间来完成,如果离开上下文环境背景很难客观的说什么是快,什么是慢。例如,在浏览器空闲时运行的代码,对于一次触摸操作和一个游戏中的路径循环有不同的性能要求。. Put another way, the people using your website or app have different performance expectationsfor each of those contexts. Like every aspect of ...

阅读(592)

大前端资源合集(转)

chalecao 发布于 2017-10-01

综合 名称 URL 简介 W3C www.w3.org www.chinaw3c.org 万维网联盟官方网站 MDN developer.mozilla.org Mozilla Developer Network,Mozilla 开发者网络 StackOverflow stackoverflow.com 最大最全的技术问答社区 SegmentFault segmentfault.com 中国开发者社区,国内的SO GitHub github.com 开源代码库,源码托管协作必备 码市 coding.net 国内代码库,源码托管协作必备,私有仓库免费 CanIUse caniuse.com 兼容性速查 知乎 www.zhihu.com 每日必刷,可以关注前端开发等话题 In...

阅读(1254)

开发联调的正确姿势

3

chalecao 发布于 2017-09-08

每天对着电脑坐着,要有正确的姿势,否则一天下来,可能腰酸背痛腿抽筋。这就是姿势不对,造成的人体内耗。晚上睡觉也是一样,睡姿不正确,醒来发现更累,都不愿意起床。对于我们这些屌丝程序员来说,开发程序联调的时候也需要有正确的姿势,否则真的会事倍功半,走上不少弯路。 关于自动化测试,大家可以参考我的另外一篇文章:斑马模块测试工具 这里我还是总结一下关于开发联调的一些事情。正如上面图所示,其实开发过程的调试主要有两部分:开发调试和测试调试。 开发调试:主要是开发时本地mock数据,这些数据分为两个部分,同步的数据和异步的数据。主要是开发自己在开发过程中模拟数据来编写程序代码,实现需求效果。这个过程中由于数据都是开发自己模拟的,所以模拟的数据特征很可能都比较主观,很难涵盖所有的数据特...

阅读(1022)

如何应对前端疲劳

2

chalecao 发布于 2017-09-03

我最近和一个做后端开发的朋友讨论我在工作之余花了多长的时间去写码和学习写码。他给我看了Uncle Bob的《Clean Code》这本书中的一段话,它将音乐家们为准备音乐会而花费的时间与开发者让代码正确执行所用的练习时间进行了比较。 我喜欢这个类比,但是我不认为我完全认同它;首先这种想法会导致疲劳。我认为如果你想进一步磨练你的技术并扩大你的技能集,那么这是很好的,但是要一天中每个小时都这样做是很难持续的。 前端疲劳是非常真实的。 我看到过一些关于JavaScript疲劳的文章,但我认为问题远不止于这种特定的语言。 先澄清一下,这篇文章不是在抱怨前端疲劳如何糟糕,以及技术发展太快—— 我喜欢技术迅速发展。同样的,我可以感受到它是如何的势不可挡,也会时不时地感觉自己要落伍了。...

阅读(588)

方向对了,路就不怕远

2

chalecao 发布于 2017-09-01

这几天在接受公司的百阿培训,真真切切的感受到了阿里巴巴独特的商业文化,阿里人一脉相承的拼搏精神与工作品质。这是一代又一代阿里人汇聚在一起,大家共同沉淀下来的精神财富,不管你从事什么行业,都能在职业生涯中受用一生。 [youku]http://v.youku.com/v_show/id_XMTY1Mzk5MzY0MA==.html[/youku] 上面这段视频是介绍阿里巴巴从无到有,从有到优的发展历程。记得当时班主任给我们留的作业是: 1.你看到了什么? 2.你感受到了什么? 学习分享 我不知道大家看这段视频会有怎样的感受,但是真的的确很让人兴奋和感动。就像我们班里的一位同学说的那样“有好几次都快要出来了”。我在看的时候记下了一些关键字:坚持、梦想、面对、改变、机遇、执行。...

阅读(867)

前端渲染框架,业务开发利器Gear

2

chalecao 发布于 2017-08-29

Gear意为齿轮,本项目主要是从渲染层提供一种业务开发新思路。前端框架有很多种,我自己将所有的前端框架分为两类:开发类框架和业务类框架。GEAR正是为业务而生。前端的生命线莫过于网页的加载与渲染。Gear主要从加载和渲染的角度来提供业务开发的工作流,它分为两种模式:制作页面和渲染页面。

阅读(521)

2017年中工作总结

1

chalecao 发布于 2017-08-29

2017年过去快半年了,感觉自己这半年做的事情很多,收获甚少。当然也不能说是很少,只是自己没有好好总结,从一开始就没有抓住根本。一件事情要做成功并不是那么简单,一定要步步为营。

阅读(584)

每日早读-读一读

1

chalecao 发布于 2017-08-29

好好读书学技术了。昨天听到一个词语,每天8个小时求生存,8个小时求发展,剩下8个小时睡觉。明显我现在求生存的时间远远大于求发展的时间,也大于睡觉的时间,其他的时间都浪费了。所以我想,还是好好学习,高效率做事吧。

阅读(759)