
前端
←微信
这个作者很懒,什么都没留下…
展开
-
SpringBoot2.x基础篇:配置文件中占位符的使用
占位符是一种灵活的配置方式,可以让我们很灵活的使用配置参数,@Value注解的配置也是占位符的一种体现方式,这种方式可以从Environment内获取对应的配置值。推荐阅读SpringBoot2.x 教程汇总配置方式在application.yml/properties配置文件内可以直接使用占位符来进行配置的相互引用,如下所示:system:name: spring.applicati...原创 2020-03-23 21:36:13 · 894 阅读 · 0 评论 -
小白看大型网站架构设计方案
最近对大型网站的架构比较感兴趣,就看了一本关于架构的书籍,顺便记录一下自己的所思所想。我们知道想淘宝、微博、12306等的软件设计,必然与我们平时使用的软件设计不同,原因是前者涉及到大量的数据存储,大量的用户访问,还有就是高并发量(瞬间访问量)。假如有其中的一个环节没有做好的话肯定是影响整体的性能,因此就会出现短板效应。我们看到的例如准点抢票、双十一抢购、微博热搜等都可能会导致服务器宕机,网络...原创 2020-03-22 21:37:36 · 182 阅读 · 0 评论 -
总结vue知识体系之高级应用篇
vue 作为目前前端三大框架之一,对于前端开发者可以说是必备技能。那么怎么系统地学习和掌握 vue 呢?为此,我做了简单的知识体系体系总结,不足之处请各位大佬多多包涵和指正,如果喜欢的可以点个小赞!本文主要讲述一些vue开发中的几个高级应用,希望能对大家有所帮助。相关推荐总结vue 知识体系之基础入门篇总结vue知识体系之实用技巧总结几个vue-router的使用技巧搭建一个vue-cl...原创 2020-03-17 20:07:56 · 297 阅读 · 1 评论 -
如何推动前端团队的基础设施建设
本文根据 2020.02.29 日,第 2 届 “前端早早聊” 的“前端基建”专场分享整理而来。本文的标题是《如何推动前端团队基础设施建设》,一是契合大会所有分享都以 “如何” 为切入的要求,同时也是对最近一年,我所负责的团队在前端技术基础设施建设方面如何从 0 到 1 的一次沉淀总结。另外还是非常感谢@Scott,感谢活动的组织者和参与者,感谢这一期的话题。业界关于前端系统性基建建设的分享输出...原创 2020-03-16 12:13:24 · 1189 阅读 · 0 评论 -
带你深度解锁Webpack系列
前两篇文章中,主要是讲解了 Webpack 的配置,但是随着项目越来越大,构建速度可能会越来越慢,构建出来的js的体积也越来越大,此时就需要对 Webpack 的配置进行优化。本文罗列出了十多种优化方式,大家可以结合自己的项目,选择适当的方式进行优化。这些 Webpack 插件的源码我大多也没有看过,主要是结合 Webpack 官方文档以及项目实践,并且花了大量的时间验证后输出了本文,如果文中有...原创 2020-03-16 10:55:03 · 256 阅读 · 0 评论 -
一个前端埋点任务引发的思考
最近接到一项任务,需要给组里面所有的前端项目进行前端埋点,上报 PV 数据给别的项目使用。由于以前没有接触过前端埋点,所以中间绕了一些弯路,但最后还是顺利完成了。整个过程下来,对前端埋点也有了一点简单的思考。什么是前端埋点前端埋点是实现前端数据监控的一种方式,通过前端埋点,我们可以获取并跟踪用户在产品上的使用情况,在后台对上报数据进行分析,从而对产品进行优化改进,达到更好的效益。埋点方式埋...原创 2020-03-15 11:27:38 · 254 阅读 · 0 评论 -
学习Java. 基础 21: String类的详解
字符串是日常开发中最常用的。代表一个字符序列,其底层为字符数组1.2. 常见方法构造方法名称 描述String(String original) 把字符串数据封装成字符串对象String(char[] value) 把字符数组的数据封装成字符串对象String(char[] value,int offset, int count) 把字符数组中的一部分数据封装成字符串对象。offset:...原创 2020-03-14 12:12:35 · 146 阅读 · 0 评论 -
ZooTeam 前端周刊
"行成于思,毁于随"——韩愈在阿里从一线前端工程师到技术 TL(Team Leader) 也三年有余了,最重要最难的就是做规划,你可能会遇到如下几个问题:业务压力巨大,前端是瓶颈,如何做合适的规划?如何提高…飞猪 Serverless 体系从无到有,落地10余个业务场景欢迎进入 Serverless 的世界。Chrome 页面呈现原理与性能优化之企业级分享总结(内附完整PPT前段时间梳理了...原创 2020-03-13 20:06:15 · 194 阅读 · 0 评论 -
字节跳动今日头条前端面经
笔者读大三,前端小白一枚,正在准备春招,人生第一次面试,投了头条前端,总共经历了四轮技术面试和一轮hr面,不多说,直接上题一面自我介绍,然后问了为什么学习前端算法:实现36进制转换简述https原理,以及与http的区别操作系统中进程和线程怎么通信node中cluster是怎样开启多进程的,并且一个端口可以被多个进程监听吗实现原生ajaxvue-router源码vue原理(手写代...原创 2020-03-13 11:21:59 · 1135 阅读 · 0 评论 -
二月前端实战面试
作者从事前端一年半基础的我就不讲了,我讲一些回答的不是很好的腾讯一面webpack的劣势在哪里技术选型上为什么选择vue,vue有哪些缺陷是如何进行code review的,这里讲了持续化集成js的基础类型(这个脑子短路了,给忘了)webpack针对模块化做的处理是如何保证组件库的质量的一面了解websocket吗,websocket是如何进行握手的生产消费者模式线程和进...原创 2020-03-06 19:23:49 · 388 阅读 · 0 评论 -
又能扯皮了!没内存了还能看片?
尽管基址寄存器和变址寄存器用来创建地址空间的抽象,但是这有一个其他的问题需要解决:管理软件的膨胀(managing bloatware)。虽然内存的大小增长迅速,但是软件的大小增长的要比内存还要快。在 1980 年的时候,许多大学用一台 4 MB 的 VAX 计算机运行分时操作系统,供十几个用户同时运行。现在微软公司推荐的 64 位 Windows 8 系统至少需要 2 GB 内存,而许多多媒体的...原创 2020-03-06 19:22:54 · 312 阅读 · 1 评论 -
JavaScript 中的代理对象
JavaScript 支持 setter 和 getter 已经很长时间了。他们用带有 set 和 get 关键字的简单语法来拦截对象的属性访问和值的修改操作。 1const obj = { 2 propValue: 1, 3 get prop() { 4 console.log(“Retrieving property prop”); 5 return this.propValu...原创 2020-02-26 20:25:33 · 163 阅读 · 0 评论 -
微前端架构:优势,缺点和痛点
这次争论让我想到了过去关于“CSS in JS”的争论。由于我对过去“CSS in JS”的争论一直心怀歉意,这次我会更加的客观去看待这个问题。我认为就像CSS in JS一样,实际的权衡和差异取决于你的工程和代码组织的限制。实现微前端也有好方法和坏方法,让我们看一下好的,坏的和极其糟糕的微前端。一. 首先,什么是微前端“微前端架构”就是构建基于微服务的前端应用架构。其思想是将前端应用切分...原创 2020-02-26 20:24:15 · 6204 阅读 · 1 评论 -
什么是RESTful风格的API设计?
随着移动互联网的兴起,RESTful风格的API设计也随之流行起来,但我们说了那么多RESTful设计,它到底是什么?本篇文章带大家来了解一下它的真实面目。RESTful概念首先,我们需要明确的是RESTful,它是一个理念,是一个设计规范,而并不是什么协议等。REST,全称Representational State Transfer,直接翻译就是:表现层状态转化。而该翻译之所以晦涩是因为...原创 2020-02-25 10:44:42 · 293 阅读 · 0 评论 -
Apache汇总
一、Apache的工作流程客户端通过随机端口连接到Apache的80端口,服务器开启线程进程请求处理,匹配用户的请求是静态的还是动态的:静态:服务器直接回传页面给客户端动态:服务器–>PHP–>回传解析后的页面给客户端工作流程:守护进程(httpd)–>工作进程–>产生线程(任务处理请求)二、Apache的三种工作模式(MPM)1.prefork工作模式(单进程...原创 2020-02-24 21:32:09 · 338 阅读 · 0 评论 -
从零搭建TypeScript与React开发环境
平时进行开发大多数是基于vue-cli或者create-react-app等官方或者公司内部搭建的脚手架。我们业务仔做的最多就是npm i和npm run dev或者npm start,然后在router文件夹上添加路由,在views或者pages文件夹中添加业务页面。这种快速开发对公司当然是好事,但对于开发人员来说对项目里的webpack封装和配置了解的不清楚,出问题时很容易会不知如何解决,或...原创 2020-02-24 10:53:49 · 446 阅读 · 0 评论 -
vue微信授权解决方案
之前是自己太年轻,写什么【最终解决方案】。这一次的项目vue移动端电商项目,做了很多的优化。大家都知道授权需要每次都要发布到线上,本地的需要代理,这让我们很头疼。后面会介绍一个本地直接授权的方式,真的超级香。时隔几年,第三次升级我的微信授权,每一次思路都更加清晰,当我的知识越来越广,越来越深,我相信会有第四次,第五次。。。另外也优化:微信分享keep-alive返回到上次浏览的位置vue-rout...原创 2020-02-23 17:46:28 · 1418 阅读 · 0 评论 -
放弃 TypeScript 的 7 个非常好的理由
很多人都喜欢 TypeScript。它“解决”了 JS 的许多问题,是 JS 的一个“超集”,它将使代码易于阅读。有很多使用 TypeScript 的理由,但是我将给您 7 个不使用 TypeScript 的理由。TypeScript 有风险TypeScript 添加类型定义并在编译时检查类型,怎么会有风险?IDE 集成还会警告您有关类型不匹配的信息。不过问题也在这。TypeScript 仅在...原创 2020-02-21 17:08:54 · 1539 阅读 · 2 评论 -
Zygote进程启动
Zygote被称为孵化器,因为在Android中DVM、ART、应用程序进程以及系统服务进程(SystemServer)都是有它来创建的,而且是通过是通过fork的形式来创建应用程序进程和SystemServer,所以这些进程的内部会获取一个DVM或者ART的实例副本。下面我们重点看一下它的启动过程。Zygote启动时主要调用app_main.cpp的main函数中的AndroidRuntime...原创 2020-02-21 11:12:15 · 229 阅读 · 0 评论 -
只需一行代码,你的纯文本秒变Markdown
Markdeep 是一个用来写纯文本的插件,它能以 Markdown 的语法与渲染方式纯文本,并在网页上展示。同时,除了 Markdown 语法,Markdeep 还额外支持图表、数学方程等扩展能力。项目主页:casual-effects.com/markdeep/我们先看看效果,如下左边是纯文本编辑器的编辑页面,右边是在浏览器上的渲染效果:Markdeep 非常容易使用,它也不需要安装插件或联网...原创 2020-02-20 10:45:54 · 436 阅读 · 0 评论 -
实战 web 应用 Docker 镜像解耦交付
随着几次浏览器大战的硝烟散尽和 Flash 的背影远去,当下的 web 应用开发经过十余年的发展,在工程化、测试、持续集成等方面都已经汇入了软件开发的快车道。然而虽然新概念、新特性层出不穷,细分领域愈加专业化,但其究极奥义始终未变 – 不管你怎么折腾,生成出来的交付物仍是 HTML/CSS/JS 老三样等静态资源,加上若干动态请求 的形式。从直接把文件拖放到 FTP 软件中手动上传的刀耕火种时代...原创 2020-02-20 10:43:11 · 303 阅读 · 0 评论 -
Vue中的MVVM思想
model-view-viewModel。model:数据模型view:视图层viewModel:可以理解为沟通view和model的桥梁他的设计思想就是关注Model的变化,通过viewModel自动去更新DOM的状态,也就是Vue的一大特点:数据驱动。Vue中用MVVM思想做什么1.通过数据操作DOM我们知道Vue使用简洁的模板语法来将数据渲染进DOM的系统。例如: {{…}}...原创 2020-02-19 20:06:07 · 481 阅读 · 0 评论 -
TiOps脚本库如何使用
TiOps提供了脚本库的功能,用于统一存放和授权脚本。TiOps的脚本库,最大的特点是,它可以支持脚本版本的功能,有点gitlab网页版的感觉。登录TiOps,在左侧菜单栏中选择【脚本库】,默认里面是没有任何脚本的,需要我们先创建脚本库TiOps脚本库如何使用点击确定,一个脚本库就创建好了,创建完成之后,如下图TiOps脚本库如何使用左侧会有一个文件夹,默认名称和脚本库的名称相同,这里还...原创 2020-02-18 20:01:40 · 276 阅读 · 0 评论 -
前端监控进阶篇 ——Sentry 监控 Next.js 项目实践
上一篇相关文章介绍了 Sentry 的基础篇 —— 本地安装,本篇文章以实际项目出发使用 Sentry 进行前端监控实践。实践案例选择 Next.js 项目,具体项目地址next-sentry-easy。上一篇:前端监控基础篇 —— Docker + Sentry 搭建前端监控系统开源社区存在很多搭建 Sentry 的文章,但是关于相关细节配置使用的实践文章其实并不多,对于新手来说不是很友好,...原创 2020-02-15 22:22:55 · 2340 阅读 · 0 评论 -
渐进地了解渐进式框架Vue
v1-minimalist原理:Object.defineProperty劫持数据变换,更新dom事件监听,改变数据 值: 复制代码const obj = {};const inputDom = document.querySelector('#input');const spanDom = document.querySelector(...原创 2019-11-06 20:55:54 · 272 阅读 · 0 评论 -
【前端词典】arr.filter(parseInt) 考查点为何
其实这类题的目的很清楚,即考察:数组方法的基础知识数值转换方法的基础知识也就是考察 基础知识的扎实程度,换句话说这是一道基础题。map()、filter()、reduce() 等数组方法说明一下:map()、filter() 是 ES5 为数组定义的迭代方法, reduce() 是 ES5 为数组定义的归并方法。这些方法并不是 ES6 新增的语法(之前在一场面试中,面试官很肯定的说这是 ...原创 2019-11-05 19:30:34 · 200 阅读 · 0 评论