我的这个博客站点大约始建于2010年以前,使用过 dlog、pjblog、zblog 等博客程序,也手动建立使用过纯静态 HTML 页面,大约2010年开始使用 WordPress。最近几年有感于 WordPress 过于臃肿复杂,而我的目的只是想写点什么,给自己留下些记录,于是将网站迁移到了更加简洁的hexo。
成为前端工程师,第一步应该是学习HTML/CSS/JavaScript,这是基础。
"什么是真诚?真诚的关怀,温暖的芳香;真诚的赞扬,催人向人;真诚的交流,获取信任;真诚的合作,赢得成功……真诚是春风,它拂去了心灵的微尘;真诚是雨露,滋润着友谊的花朵。真诚给我们希望,给我们力量,真诚不是智慧去常常放射出比智慧更诱人的光芒"
当为应用程序选择技术栈时,就需要慎重考虑几个方面:选择的编程语言和框架对开发周期的影响、应用程序的性能以及在网络中是否容易被人发现——在线可发现性。
页面静态化是搭建高性能网站必用的招式之一,页面静态化可以有效提升系统响应速度,同时也有利于搜索引擎优化。但在页面静态化后,静态页面之间包含(例如所有的静态页面包含页头、页脚)以及静态页面中的局部信息的动态更新又成为新的问题。
我们的项目是一个B2C模式的电商网站,采用的是前后端分离开发模式。前端主要使用vue.js开发,后端则主要使用DRF框架。
①技术更新较快:根据市场的需求,不断迭代更新. ②技术涉及面广:除了 PHP,还会用到 Python,GO 等其他的一些语言;数据库中 MySQL,nosql 是最频繁使用的(当然也有的公司会用 oracle,但是 PHP 一般都是以 MySQL 为主),服务器端使用 Linux(少部分公司会用到 Unix),还经常涉及到服务器安全、系统安全等安全方面的技术. ③分布式:从前的单一的机器上运行,现在是分散到不同机器上,最后将数据集中汇总。集中式向分布式进行发展是由需求来推动. ④高并发、集群(高可用集群)、负载均衡:由并发问题采用集群进行处理,其中,集群会涉及服务器的主从以及分布问题,使用负载均衡。(权重高低)高可用是对用户而言,用户的服务不中断(系统升级,服务不中断,公司电商系统的部分更新等)。 ⑤海量数据:每年商家的各类活动(双 11,双 12 等等)订单量、浏览数、商品量、活动相关数据都将会超级大超级多(一般随同高并发出现). ⑥业务复杂:电商业务并不简单:并不是商品展示出来后,简单的加入购物车后购买就完成了。除此以外后台业务逻辑是相当复杂,比如优惠(包邮、满减),秒杀,抢购等. ⑦系统安全:系统上线必须通过系统安全部门审核通过,安全性问题正逐步的被放到台面上,而且很多企业对这块相当重视.
在现代 Web 开发困境与破局[1]一文中,作者「牛岱」谈到当前前端与UI的配合模式如下:
SSR(Server-Side Rendering,服务器端渲染)是指将 React、Vue、Angular 等客户端渲染的应用在服务器端执行一次,然后将渲染结果返回给浏览器进行展示的过程。相对于客户端渲染(CSR,Client-Side Rendering),SSR 可以提高页面的首屏加载速度和搜索引擎优化(SEO),因为它可以在服务器端直接生成 HTML,并将静态资源(如 CSS、JavaScript 等)和页面数据一起返回给客户端,从而减少客户端的渲染工作量。
对于什么是全栈开发者并没有一个明确的定义。但是,有一件事是肯定的:2019 年对全栈开发者的需求量很大。在本文中,我将向你概述一些趋势,你可以尝试根据这些趋势来确定你可能要投入的时间。
关注网页前端性能的朋友,在优化网页性能的时候都会遇到网站加载 Waiting(TTFB)时间过长的问题。对于没有优化过的 WordPress 站点,TTFB 时间经常超过了页面内容的下载时间,为用户带来不必要的等待时间。这个问题的主要原因是在服务器端,不熟悉服务器运维的朋友优化起来可能会不知道从哪里下手,今天我们就从各方面分析一下网站加载 Waiting (TTFB) 时间过长的原因和解决办法。
今天又给大家带来了一个很重要的知识点:SpringMVC中如何处理跨域问题,本文的内容同样适合于SpringBoot
在远古时期,网页的组成其实非常简单,简单来说以前的服务器其实就是简单的文件服务器,上面只存放 HTML、CSS、JavaScript 文件,而用户通过浏览器去访问页面,实际上就是把文件下载下来跑起来而已。
这篇文章主要介绍了VsCode插件整理(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Node.js 是一个异步的世界,官方 API 支持的都是 callback 形式的异步编程模型,这会带来许多问题,例如callback 的嵌套问题 ,以及异步函数中可能同步调用 callback 返回数据,可能会带来不一致性,为了解决以上问题 Koa 出现了。
请求头中指定的编码格式只对请求体是有效的, 不对params有效. 所以urlencode来保证URL不会发生编码问题.
对于许多新人来说,他们最开始接触前端这行,都是从前端开发工资高啊,好找工作啊,入门门槛低,这些方面开始了解的。当他们开始学习前端一段时间之后,许多人不可避免的开始迷失在前端技术栈之中。
在第一个阶段中前端页面都是静态的,所有前端代码和前端数据都是后端生成的。前端只是纯粹的展示功能,js脚本 的作用只是增加一些特殊效果,比如那时很流行用脚本控制页面上飞来飞去的广告。 那时的网站开发,采用的是后端 MVC 模式。
在第一个阶段中前端页面都是静态的,所有前端代码和前端数据都是后端生成的。前端只是纯粹的展示功能,js脚本的作用只是增加一些特殊效果,比如那时很流行用脚本控制页面上飞来飞去的广告。
/1/ 大前端的说法,是如何出现的?范围是多“大”? 对于许多新人来说,他们最开始接触前端这行,都是从前端开发工资高啊,好找工作啊,入门门槛低,这些方面开始了解的。当他们开始学习前端一段时间之后,许多人不可避免的开始迷失在前端技术栈之中。 任何行业都有一个时机的问题,你听说前端的时候,前端还是html+css+js,等你准备好了加入前端行业的时候,它已经变成了nodeJs,Rn,pc,移动端等多平台多设备的综合技术栈。 但这个分水岭,也就是大前端这个词到底是什么时候出现的,并没有明确的说法,甚至是谁最先提
前端对于不是对口专业的人来说,可能是陌生的,但是如果对于每天都在接触和使用的人来说,应该是驾轻就熟的。那么前端到底是什么呢?简单来说:浏览器呈现出来的页面、给用户看的、可操作的就是前端。如果再往大了说,你所看到的一切,包括网页、移动端页面、小程序、甚至某些 app,都是属于前端范畴。
一年一度的.NET Conf 大会在今日凌晨零点开播,我跟Blazor中文社区的很多朋友都熬夜观看了。在开场概括演说之后,Blazor是排在第一个出场的,可见Blazor在新版.Net中的地位依然是重中之重。
最近在知乎看到了这么个问题:学完Vue还有必要学习React和Node吗?, 有很奇妙的感觉,因为我在最开始入门前端时,也是以Vue入的门,在“学完”Vue之后, 我也有了类似的疑问,但当时的我没多想,觉得“技多不压身”,反正都是前端,以后肯定用得上,那就学呗——
一、前端开发入门 在入门阶段,你首先要学会最基本的技能:根据UI的设计稿,实现HTML的静态页面制作。这就要求你得掌握HTML、CSS页面布局排版、样式美化等技能。 📷 请点击此处输入图片描述 在这个阶段你需要学习: 1、HTML+CSS: HTML进阶、CSS进阶、div+css布局、HTML+css整站开发 2、JavaScript基础 掌握JS的基本语法、条件、语句、循环等,学会常用算法,增强逻辑性。 3、常用的前端工具 比如Webstrom、Sublime、Dreamweaver、HBuilder等
NextJS是一款基于 React 进行全栈开发的框架,是当下非常火的React全栈框架之一,在去年NextJS发布了V13版本,而本文将基于V13版本的app路由,来梳理它的几种不同的渲染方式的实现,并且与pages路由做对比。
在本文中,介绍3个鲜为人知,但功能非常强大且体积很小的 JavaScript 库,这些可以帮助提高开发效率,减轻开发难度,让你加班少少的,请收纳。
在上一篇”使用OAuth打造webapi认证服务供自己的客户端使用“的文章中我们实现了一个采用了OAuth流程3-密码模式(resource owner password credentials)的WebApi服务端。今天我们来实现一个js+html版本的客户端。 一、angular客户端 angular版本的客户端代码来自于http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-id
Never let success get to your head, and never let failure get to your heart.
ng给我们创建的模块account.service.ts,内容如下。 有关@Injectable和@Component,都是angular中的关键字或者关键注解。通过注解来表明js文件的类型,以方便angular框架进行调用。 @Component表示该js文件所导出的类是组件。 @Injectable表示该js文件所导出的文件是服务,而服务是可以通过注入来创建的。 服务的注入,是angular中用来剥离controller和业务逻辑的方式。
2、根据 Web 页面组成结构中的信息内容的生成方式不同,可以将 Web 页面分为静态页面、动态页面、以及伪静态页面三大类。
原文:Security for building modern web apps 译者:杰微刊—张迪 这篇文章的灵感来自于另一篇文章,它是关于“在今天,构建Web应用之前要知道的事情”的。并不长,但遗漏了一些关于安全性的建议,所以我就此动笔,分享一些这方面的知识。 本文重点是写给那些来自初创公司,并且想要从头开始开发一个Web应用的开发者,他们并不知道太多信息安全的知识,也不想花太多时间考虑其应用程序的安全性。一些重要的内容就不在这里讨论了,诸如威胁建模(threat modeling),持续交付安全(co
随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化。 一般情况下会从以下方面来做优化 1、动态页面静态化 2、优化数据库 3、使用负载均衡 4、使用缓存 5、使用CDN加速 现在很多网站在建设的时候都要进行静态化的处理,为什么网站要进行静态化处理呢?我们都知道纯静态网站是所有的网页都是独立的一个html页面,当我们访问的时候不需要经过数据的处理直接就能读取到文件,访问速度就可想而知了,而其对于搜索引擎而言也是非常友好的一个方式。 纯静态网站在网站中是怎么实现的? 纯静态的制作技术是需要先把网站的页面总结出来,分为多少个样式,然后把这些页面做成模板,生成的时候需要先读取源文件然后生成独立的以.html结尾的页面文件,所以说纯静态网站需要更大的空间,不过其实需要的空间也不会大多少的,尤其是对于中小型企业网站来说,从技术上来讲,大型网站想要全站实现纯静态化是比较困难的,生成的时间也太过于长了。不过中小型网站还是做成纯静态的比较,这样做的优点是很多的。 而动态网站又是怎么进行静态处理的? 页面静态化是指将动态页面变成html/htm静态页面。动态页面一般由asp,php,jsp,.net等程序语言编写而成,非常便于管理。但是访问网页时还需要程序先处理一遍,所以导致访问速度相对较慢。而静态页面访问速度快,却又不便于管理。那么动态页面静态化即可以将两种页面的好处集中到一起。 静态处理后又给网站带来了哪些好处? 1、静态页面相对于动态页面更容易被搜索引擎收录。 2、访问静态页面不需要经过程序处理,因此可以提高运行速度。 3、减轻服务器负担。 4、HTML页面不会受Asp相关漏洞的影响。 静态处理后的网站相对没有静态化处理的网站来讲还比较有安全性,因为静态网站是不会是黑客攻击的首选对象,因为黑客在不知道你后台系统的情况下,黑 客从前台的静态页面很难进行攻击。同时还具有一定的稳定性,比如数据库或者网站的程序出了问题,他不会干扰到静态处理后的页面,不会因为程序或数据影响而 打不开页面。 搜索引擎蜘蛛程序更喜欢这样的网址,也可以减轻蜘蛛程序的工作负担,虽然有的人会认为现在搜索引擎完全有能力去抓取和识别动态的网址,在这里还是建议大家能做成静态的尽量做成静态网址。 下面我们主要来讲一讲页面静态化这个概念,希望对你有所帮助! 什么是HTML静态化
在了解静态化之前,我们需要先了解什么叫静态网页,静态网页是服务器上面真实存在的页面,它不需要编译,用户就可以直接访问这样的网页,后缀一般为.html或者是.HTM。如果我们把这个网页上传到我们的服务器
HTML/CSS框架目前没有以前那么有意义, 但是我还是介意你选择一个学习(这里作者想隐射的应该是, 在jquery时代, HTML/CSS框架的学习是必须的).
张戈博客不久前分享过 Nginx 开启缓存为 WordPress 加速的教程,其中分享了 2 种缓存模式:代理模式和本地模式。我一直以为单个 ngx_cache_purge 缓存模块只支持 proxy
先上截图, 这是他向我提问的截图,我回复他说今晚的公众号文章来回复他。 为什么要单独写一篇文章呢?因为他这个问题在我个人看来,不是几句话能说清楚的。 先审题,分析一下他的描述, 1,他零基础,自学四
在前端开发调试接口的时候都会遇到跨域请求的问题。传统的方式是使用 Nginx 反向代理解决跨域。比如所有接口都在 a.com 的域下,通过 Nginx 将所有请求代理到 a.com 的域下即可。 使用框架及 Webpack 进行开发时,也可以通过插件实现反向代理。比如使用 Angular 的时候可以通过 proxy.config.json 进行跨域设置。 但是如果开发的测试环境需要登录认证,则请求时需要携带 Cookie 信息。通过 Fetch 发送请求时,可以设置 credentials: 'includ
在很久很久以前的公元1993年,位于美国的伊利诺州诞生了一位名为NCSAMosaic的孩子。它便是传说中的微软IE、网景以及后续众多网页浏览器的鼻祖。可惜在当时只有少数的幸运儿才可以使用它。
提供手机端页面(face_login_app)和网页端页面(vue_element-admin)。
我曾见过很多很多人盲目地使用(前端)框架,如 React,Angular 或 Vue 等等。这些框架提供了许多有意思的东西,然而通常人们(自以为)使用框架是因为:
单位的云办公相关系统没有成熟的平滑发布方案,导致每一次发布都是直接发布,dll文件或配置文件的变更会引起站点的重启。
前言 时间的齿轮已经来到了2017年的11月份,距离2018年仅仅还剩下不到两个月的时间。站在这个时间点上,我对自己之前三次失败的面试经历做了一次深度回顾。 可能很多小伙伴会问,为什么要去回顾失败的面试经历呢? 因为在互联网+时代,成功的案例可以借鉴,但是不可复制;失败的案例可以引以为戒,但是不可重蹈覆辙。你按照成功者的步骤一步一步走,最后不一定会成功;但如果你按照失败者的步骤一步一步走,结局注定会失败。 我在这里写出当年我失败的经历,算是对自己做一个总结,也是为了提醒后来者,一入前端深似海,坑多坑少自己
我曾见过许多人盲目地使用像 React, Angular 或 Vue 这样的现代框架。这些框架提供了许多有趣的东西,但通常人们会忽略它们存在的根本原因。
领取专属 10元无门槛券
手把手带您无忧上云