为什么文件名要小写?

4天前 来自 ruanyifeng.com 暂无评论
上周,《中文技术文档写作规范》加入了文件的命名规则。 "文件名建议只使用小写字母,不使用大写字母。" "为了醒目,某些说明文件的文件名,可以使用大写字母,比如README、LICENSE。" 网友看见了,就提问为什么文件名要小写? 说实话,虽然这是 Linux 传统,我却从没认真想过原因。赶紧查资料,结果发现四个很有说服力的理由,支持这样做。 下面就是这四个理由。另外,文后我还会发布一条前端培训的消息。 一、可移植性 Linux 系统是大小写敏感的,而 Windows 系统和 Mac 系统正好相反,大小写不敏感。一般来说,这不是大问题。 但是,如果两个文件名只有大小写不同,其他都相同,跨平台就会出问题。 foobar Foobar FOO

前端基础进阶(二):执行上下文详细图解 javascript 前端基础进阶

1周前 来自 jianshu.com 暂无评论
先随便放张图我们在JS学习初期或者面试的时候常常会遇到考核变量提升的思考题。比如先来一个简单一点的。console.log(a);   // 这里会打印出什么?var a = 20;暂时先不管这个例子,我们先引入一个JavaScript中最基础,但同时也是最重要的一个概念执行上下文(Execution Context)。每次当控制器转到可执行代码的时候,就会进入一个执行上下文。执行上下文可以理解为当前代码的执行环境,它会形成一个作用域。JavaScript中的运行环境大概包括三种情况。全局环境:JavaScript代码运行起来会首先进入该环境函数环境:当函数被调用执行时,会进入当前函数中执行代码eval因此在一个JavaScript程序中,必定会产生多个执行上下文,在我的上一篇文章中也有提到,JavaScript引擎会以堆栈的方式来处理它们。栈底永远都是全局上下文,而栈顶就是当前正在执行的上下文。当代码在执行过程中,遇到以上三种情况,都会生成一个执行上下文,放入栈中,而处于栈顶的上下文执行完毕之后,就会自动出栈。为了
$item->title

前端基础进阶(一):内存空间详细图解 内存空间 垃圾回收

1周前 来自 jianshu.com 暂无评论
变量对象与堆内存var a = 20;var b = 'abc';var c = true;var d = { m: 20 }因为JavaScript具有自动垃圾回收机制,所以对于前端开发来说,内存空间并不是一个经常被提及的概念,很容易被大家忽视。特别是很多不是计算机专业的朋友在进入到前端之后,会对内存空间的认知比较模糊,甚至有些人干脆就是一无所知。当然也包括我自己。在很长一段时间里认为内存空间的概念在JS的学习中并不是那么重要。可是后我当我回过头来重新整理JS基础时,发现由于对它们的模糊认知,导致了很多东西我都理解得并不明白。比如最基本的引用数据类型和引用传递到底是怎么回事儿?比如浅复制与深复制有什么不同?还有闭包,原型等等。因此后来我才渐渐明白,想要对JS的理解更加深刻,就必须对内存空间有一个清晰的认知。一、栈与堆注:栈,也可以叫堆栈与C/C++不同,JavaScript中并没有严格意义上区分栈内存与堆内存。因此我们可
$item->title

Chrome和Firefox即将开始在不安全的网站显示警告信息 前端新闻早知道 chrome 安全

2周前 来自 infoq.com 暂无评论
Google和Firefox的网络浏览器即将更新,之后用户在浏览不安全的网站时将会收到警告信息。2017年1月发布的Chrome 56和Firefox 51将成为提供警告信息的首个常规版本。Google多次发出公告,从Chrome 56版本开始,如果用户访问需要输入密码或信用卡信息的非HTTPS网站,会在URL栏显示这是不安全网站的警告。首个版本提供的警告信息比较小,可能用户不仔细看就不会注意到,但是后面的版本中将逐步加强警告。图片来源:https://security.googleblog.com/2016/09/moving-towards-more-secure-web.html在文章中,他们指出目前网站显示的内容可能会给用户带来安全性错觉:Chrome目前中立地提示HTTP连接,但这并没有正确反映出HTTP连接缺乏安全性。当你通过HTTP加载网站时,网络上的其他人可以在页面加载出来之前查看或修改网站内容。这和目前Chrome在使用HTTPS的网站旁边显示“安全”提示的方式比较相似。Mozilla安全工程师Tanvi Vyas称,仅仅通过HTTPS提交表单是不够的:我们收到了很多
$item->title

起底Git-Git内部原理 git 版本控制

2周前 来自 yanhaijing.com 暂无评论
What is Git?你可能听说过Git是版本控制系统、微型文件系统、内容寻址系统。Git的底层是一个微型内容寻址系统Git在1.5版本是一个分水岭,1.5之前更偏向文件系统,1.5版本后更偏向版本控制系统Git常用命令共有30多个,可运行git help查看;但Git总共有130多个命令,可以通过git help -a查看,这些命令可以分为高层命令和底层命令,底层命令被设计成unix风格,不常用Git仓库下有一个.git目录,里面存储了git全部的秘密,一般包括下面的内容:configindexHEADhooks/logs/refs/objects/下面会详细介绍没个部分都是什么configconfig是仓库的配置文件,一个典型的配置文件如下,我们创建的远端,分支都在配置文件里有表现; fetch操作的行为也是在这里配置的[core]     repositoryformatversion = 0     filemode = false  &nb
$item->title

未来的娱乐业

2周前 来自 ruanyifeng.com 暂无评论
(说明:本文出自我的新书《未来世界的幸存者》) 一、 2012年1月份,美国风险投资家 Paul Graham 发表了一封公开信,题目很夸张,叫做"摧毁好莱坞"(kill Hollywood)。他希望创业公司投入娱乐行业的创新,跟好莱坞一比高下,甚至取代它。 当时,我读到这封信,心想怎么可能! 好莱坞代表了整个电影工业,已经发展了一百多年,高度成熟,怎么可能在以后几十年里面被取代,难道未来的人们不看电影?而且,那时中国的电影市场刚刚起步,电影在国内完全是朝阳产业。 Paul Graham 的核心观点是下面这句话。 "电影行业正在死亡,互联网蓬勃兴起。未来会有更好的娱乐方式,让人们乐在其中,杀死电影和电视。" 他的意思是,未来会有比电影更有趣、更好玩的娱

什么阻塞了 DOM? javascript css3 HTML5 性能优化

2周前 来自 mt.sohu.com 暂无评论
前天一篇工作仅一年的前端工程师面试几个大厂的文章 引起了很多人的关注。一方面大家觉得作者太厉害了,工作仅一年,能力竟然这么强(作为80后我表示惭愧),另一方面几个微信面试题引起很多讨论。其中我比较感兴趣的一个题目是关于Java和CSS阻塞DOM的。老实讲,我以前也没太关注过,与其哀叹自己研究的不够深入,不如我们去学习弥补一下吧。这篇文章是我今天读到的,感觉不错,翻译一下给大家共享。以下是文章原文  当我们谈到web性能或者优化页面级别的速度时,非常重要的一点是要理解HTML和一个页面是如何在浏览器中构造的,这样你才能找到由于渲染阻塞导致的页面加载延迟。在这篇文章中,我们会深入了解是 什么阻塞了DOM 以及你应该怎样避免这种情况。  什么是DOM?  DOM是Document Object Model(文档对象模型)的缩写。它是为HTML和XML定义的一个编程接口,提供了文档的结构化表示(节点树状结构),同时也规定了使用脚本编程语言(例如Java)应该如何访问以及操作DOM。这样一个节点树状结构是由不同的元素、父节点、子节点、兄弟节点等构成,它们彼此都有层级化的关系。  用人话描述DOM
$item->title

下一代Web应用模型——Progressive Web App PWA

2周前 来自 mt.sohu.com 暂无评论
  下一代 Web 应用?  近年来,Web 应用在整个软件与互联网行业承载的责任越来越重,软件复杂度和维护成本越来越高,Web 技术,尤其是 Web 客户端技术,迎来了爆发式的发展。  包括但不限于基于 Node.js 的前端工程化方案;诸如 Webpack、Rollup 这样的打包工具;Babel、PostCSS 这样的转译工具;Type、Elm 这样转译至 Java 的编程语言;React、Angular、Vue 这样面向现代 Web 应用需求的前端框架及其生态,也涌现出了像同构 Java与通用 Java 应用这样将服务器端渲染(Server-side Rendering)与单页面应用模型(Single-page App)结合的 Web 应用架构方式,可以说是百花齐放。  但是,Web 应用在移动时代并没有达到其在桌面设备上流行的程度。究其原因,尽管上述的各种方案已经充分利用了现有的 Java 计算能力、CSS 布局能力、HTTP 缓存与浏览器 API 对当代基于 Ajax与响应式设计的 Web 应用模型的性能与体验带来了工程角度的巨大突破,我们仍然无法在不借助原生程序
$item->title

从零开始React服务器渲染 HTML5 javascript Node.js Web开发

2周前 来自 alloyteam.com 暂无评论
一.前言 当我们选择使用Node+React的技术栈开发Web时,React提供了一种优雅的方式实现服务器渲染。使用React实现服务器渲染有以下好处:         1.利于SEO:React服务器渲染的方案使你的页面在一开始就有一个HTML DOM结构,方便Google等搜索引擎的爬虫能爬到网页的内容。         2.提高首屏渲染的速度:服务器直接返回一个填满数据的HTML,而不是在请求了HTML后还需要异步请求首屏数据。         3.前后端都可以使用js二.神奇的renderToString和renderToStaticMarkup 有两个神奇的React API都可以实现React服务器渲染:renderToString和renderToStaticMarkup。renderToString和renderToStaticMarkup的主要作用都是将React Component转化为HTML的字符串。这两个函数都属
$item->title

webgl世界 matrix入门 Web开发 javascript webgl

1月前 来自 alloyteam.com 暂无评论
这次没有带来游戏啦,本来还是打算用一个小游戏来介绍阴影,但是发现阴影这块想完完整整介绍一次太大了,涉及到很多,再加上业务时间的紧张,所以就暂时放弃了游戏,先好好介绍一遍webgl中的Matrix。 这篇文章算是webgl的基础知识,因为如果想不走马观花的说阴影的话,需要打牢一定的基础,文章中我尽力把知识点讲的更易懂。内容偏向刚上手webgl的同学,至少知道着色器是什么,webgl中drawElements这样的API会使用~ 文章的标题是Matrix is magic,矩阵对于3D世界来说确实是魔法一般的存在,说到webgl中的矩阵,PMatrix/VMatrix/MMatrix这三个大家相信不会陌生,那就正文let's go~1/ 矩阵的来源 刚刚有说到PMatrix/VMatrix/MMatrix这三个词,他们中的Matrix就是矩阵的意思,矩阵是干什么的?用来改变顶点位置信息的,先牢记这句话,然后我们先从canvas2D入手相信一下我们有一个100*100的canvas画布,然后画一个矩形123<canvas width="100&quo
$item->title