暂时未有相关云产品技术能力~
每天进步一点点 研磨生活的香甜
当变量暴露在全局作用域中时,由于全局作用域比较复杂,因此查找会比较慢。 并且还有可能污染window对象,覆盖之前所赋的值,发生意想不到的错误。
Web优化的对象包括页面性能、用户体验、开发效率、代码优化、网络延迟等,本系列会列举出众多常用的优化技巧,每个技巧都可深入分析,在此只做抛砖引玉。
《数据结构与算法之美》是极客时间上的一个算法学习系列,在学习之后特在此做记录和总结。
《数据结构与算法之美》是极客时间上的一个算法学习系列,在学习之后特在此做记录和总结。
掌握数据结构和算法,不管对于阅读框架源码,还是理解其背后的设计思想,都是非常有用的。一旦掌握数据结构和算法,之前可能需要费很大劲儿来优化的代码,需要花很多心思来设计的架构,用了数据结构和算法之后,很容易就可以解决了。
现在出去面试,很多时候都会让你先做一份笔试题,而题目一般是中等偏下的水平,不会很难。 在面试前需要练练手感,以免在解题时没有思路。 练手感可以自己准备一些笔试题目,可根据自己的情况选择合适的题目,而解法可以写一种或多种。 还搜集了一些笔试算法总结,例如《一句话算法》、《LeetCode》相关的内容。
我从事的是前端岗位,四月中旬时投过一波,很多都是找朋友或老同事内推,但都没响应,连面试机会都没有,只得作罢。
这套前端监控系统用到的技术栈是:React+MongoDB+Node.js+Koa2。将性能和错误量化,解决业务和开发都不知道,只有用户知道的问题,提升业务稳定性。
创建一个空目录,然后通过npm init命令初始化package.json文件,并按提示输入相关信息或直接回车使用默认信息,生成的内容如下所示。
Buffer是一种Node的内置类型,不需要通过require()函数额外引入。它能读取和写入二进制数据,常用于解析网络数据流、文件等。
在学习了Webpack基础后,查看别人写好的脚手架总是会一头雾水,后面就上网查各种资料,一边参考一边修改,整出了一套简易的脚手架(已上传至GiuHub和npm上),借鉴了Create React App(CRA)的目录结构(如下所示),并做成了命令行工具(已上传至GiuHub和npm上)。
最近在读一本编译相关的书《两周自制脚本语言》,书中用Java来设计一种名为Stone的脚本语言。
方法论是一个哲学术语,会对一系列具体的方法进行分析研究、系统总结并最终提出较为一般性的原则。CSS方法论是一种面向CSS、由个人和组织设计、已被诸多项目检验且公认有效的最佳实践。这些方法论都会涉及结构化的命名约定,并且在组织CSS时可提供相应的指南,从而提升代码的性能、可读性以及可维护性。本章会讲解三种CSS方法论:OOCSS、BEM和SMACSS。
网格布局(Grid Layout)也叫栅格布局,与表格布局类似,也依赖行和列。但与之不同的是,网格布局能直接控制HTML文档中元素的顺序、位置和大小等,而不用再借助辅助元素。
裁剪(clipping)能让元素显示指定形状的区域,在布局时可起点缀的作用,丰富了视觉呈现。注意,裁剪本质上只是让元素的部分区域透明,由此可知,裁剪完后元素所占的空间仍旧会保留。裁剪最早是在CSS 2.1时代由clip属性引入,但该属性只能应用于绝对定位的元素,并且只能裁剪成矩形。CSS3提供了强大的clip-path属性,突破了clip属性的众多限制,接下来将围绕clip-path属性展开讲解。
在图形编辑软件中,可以按特定地方式处理不同图层的合成,最新的CSS规范也引入了该功能,并提供了mix-blend-mode和background-blend-mode两个属性。混合模式(blending mode)是一种数学算法,可计算元素重叠部分的颜色值,目前已定义了十多种不同的混合模式。
滤镜(filter)可改造元素的视觉呈现,CSS内置的滤镜有10种,通过SVG文件还能自定义滤镜。
渐变是由两种或多种颜色之间的渐进过渡组成,它是一种特殊的图像类型,分为线性渐变和径向渐变,这两类渐变还会细分为单次和重复两种。渐变图像与传统图像相比,它的优势包括占用更少的字节,避免额外的服务器请求,调试成本更低等。在平时,发挥自己的想象,利用渐变可以创造出许多奇妙的视觉特效。
CSS规范新增了一个模块:CSS Shapes,shape-outside属性属于该模块,它能影响浮动元素周边内容流的形状(即浮动形状),可接收三类值:形状盒子、函数和图像。
CSS躬行记(3)——CSS属性拾遗
CSS躬行记(2)——伪类和伪元素
CSS躬行记(1)——CSS基础拾遗
内容引用自《前端架构:从入门到微前端》第9章。 微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的单体应用转变为把多个小型前端应用聚合为一的应用。各个前端应用还可以独立开发、独立部署。 微前端的实现意味着对前端应用的拆分。拆分的目的并不只是为了在架构上好看,还可以提升开发效率。比如10万行的代码拆解成10个项目,每个项目1万行,要独立维护每个项目就会容易得多。
这两天窝在家里又看了本CSS相关的书:《CSS重构:样式表性能调优》。重构是指在不改变代码行为的前提下,重写代码,使其更加简洁、易于复用。
本书详细讲解了网站分析工具获取的各种数据。另外,也讲解了如何根据这些数据分析网站状况,以及如何根据分析结果拟定改进策略。
前几天有个朋友邀请我录个教程视频,一开始不想搞,后面想想在家也没事干,尝试下也不错。录了一段TypeScript的简单介绍,虽然只有18分钟,但整整搞了两天才完成。
这两天心血来潮,突然想搭建一个博客,域名和主机早就买好了。以前就想搞,不过自己太懒了,就一直拖着,这次总算是实现了自己多年未完成的目标。
本文承接上一篇《网站优化的艺术与科学之工具和基础知识》,将实战分析网站的部分页面。
最近在阅读一本网站优化的书,名叫《深入理解网站优化:提升网站转化率的艺术与科学》,本书是对网站优化的4个学科(Web分析、网站易用性、在线营销和网站测试)的最佳实践。网站优化是一门新颖的艺术,结合前面这四门学科完成对网站的测试和分析,更好地吸引和转化访问者。
纯JavaScript实现页面行为的录制
简单粗暴的骨架屏实现
用JavaScript完成页面自动操作
《Javascript设计模式系统讲解与应用》
自上一篇《每次阅读外文技术资料都头疼,终于知道原因了》已过去多月,最近又在做简单的实践,实践方式很朴素,就是对照阅读React官方资料和国内翻译的资料,逐句对比,发现了许多问题,特在此记录。
最近这段时间新型冠状病毒肆虐,上海确诊人数每天都在增加,人人提心吊胆,街上都没人了。为了响应国家号召,近期呆在家里撸码,着手将项目迁移到React中,项目比较朴素,是一张线索提交页面,包含表单、图片滚动等功能。
React可大致分为三部分:Core、Reconciler和Renderer,在阅读源码之前,首先需要搭建测试环境,为了方便起见,本文直接采用了网友搭建好的环境,React版本是16.8.6,与最新版本很接近。
视频开头给出了面试的定义:面试是测查和评价人员能力素质的一种考试活动。具体地说,面试是一种经过组织者精心设计,在特定场景下,以考官对考生的面对面交谈与观察为主要手段,由表及里测评考生的知识、能力、经验等有关素质的一种考试活动。
最近阅读了多篇从面试官的角度看面试的文章,全部记录在了Github上,看完后就想结合自己的经历总结一下,如有不当之处,欢迎留言讨论。本文将分为五部分:简历、自我介绍、问答、提问和2019年求职分析。
装饰器(Decorator)可声明在类及其成员(例如属性、方法等)之上,为它们提供一种标注,用于分离复杂逻辑或附加额外逻辑,其语法形式为@expression。expression是一个会在运行时被调用的函数,它的参数是被装饰的声明信息。假设有一个@sealed装饰器,那么可以像下面这样定义sealed()函数。
TypeScript躬行记(7)——命名空间
本节将对TypeScript中类型的高级特性做详细讲解,包括交叉类型、类型别名、类型保护等。
TypeScript躬行记(5)——类型兼容性
泛型是程序设计语言中的一种风格或范式,相当于类型模板,允许在声明类、接口或函数等成员时忽略类型,而在未来使用时再指定类型,其主要目的是为它们提供有意义的约束,提升代码的可重用性。
类是对对象的抽象,描述了对象的特征和行为,而对象就是类的实例。ES6引入了类的概念(相关内容可参考ES类和ES6类的继承两节),TypeScript在此基础上,不仅根据ES7等规范完善了类的语法,还添加了许多其它语法。而在使用TypeScript的类时,不必关心兼容性问题,因为这些工作已由编译器完成。
在传统的面向对象语言中,接口(Interface)好比协议,它会列出一系列的规则(即对行为进行抽象),再由类来实现这些规则。而TypeScript中的接口更加灵活,除了包含常规的作用之外,它还能扩展其它的类、为对象的类型命名以及约束值的结构等,大大消除了许多潜在的错误。
TypeScript不仅支持JavaScript所包含的数据类型,还额外扩展了许多实用的数据类型,例如枚举、空值、任意值等。
Hook(钩子)是React v16.8新引入的特性,能以钩子的形式为函数组件附加类组件的状态、生命周期等特性。React的类组件有难以拆分、测试,状态逻辑分散,难以复用等问题,虽然可以通过渲染属性(Render Props)和高阶组件来提取状态逻辑,但会形成层层嵌套,而使用Hook后的函数组件就能避免这些问题。
测试不仅可以发现和预防问题,还能降低风险、减少企业损失。在React中,涌现了多种测试框架,本节会对其中的Jest和Enzyme做详细的讲解。
这次也是创业公司,但与以往不同的是,起点很高,起步资金有1500W,而且给我开的工资破万,对我也很有吸引力。这家公司我待的时间蛮长的,有一年半,而且同事之间的感情也比前面两家要好。我在这家公司主要做PHP,兼顾页面的制作。
我的程序员之路——2013年和2014年