技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 为之漫笔
    Web浏览器恐怕是用户最多的软件了。本文将介绍浏览器的工作原理。想知道从你在地址栏中输入“google.com”,到窗口中显示Google主页的过程中都发生了什么?本文会为你揭开这个秘密。 要讨论的浏览器 今天,人们主要使用5种浏览器:Internet Explorer、Firefox、Safari、Chrome和Opera。这篇文章的分析源自开源浏览器――Firefox、Chrome和Safari,Safari是部分开源的。根据W3C对浏览器使用情况的...
    视差滚动是在2D应用中创造立体纵深感的一种技术。这篇文章就来看一看在我们刚刚创建的游戏框架基础上实现视差滚动有多容易。视差滚动指的是屏幕上的几个图层发生相对位移的效果,换句话说,背景图层滚动得比它前面的那些图层要慢一些。这种创造视觉纵深感的技术在2D游戏中的应用极为普遍。
    在这篇文章里,我们继续介绍构成这个基本JavaScript游戏框架的其他必要的类。前一篇文章介绍了GameObjectManager类,该类负责画布的渲染并允许GameObject类更新和删除它们自己。下面就来看一看GameObject类。
    在知道了如何使用画布元素之后,接下来我教大家写一个框架,有了这个框架,我们就可以把它作为基础来创建游戏。在这第一部分,我们会介绍前两个文件/类。
    这篇文章将带领大家学习使用JavaScript和Canvas元素操作图像了几种不同的方式,这些方式在Canvas元素出现之前是不可能的事儿。
    1、认识一下Canvas 2、在Canvas上绘图 3、基于Canvas的高级图像操作 4、通过Canvas实现视差滚动 5、写一个游戏框架(一) 6、写一个游戏框架(二) 7、动画 8、JavaScript键盘输入 9、综合运用 10、定义级别 11、跳跃与坠落 12、添加道具 13、加载资源 14、添加主菜单
    1、认识一下Canvas 2、在Canvas上绘图 3、基于Canvas的高级图像操作 4、通过Canvas实现视差滚动 5、写一个游戏框架(一) 6、写一个游戏框架(二) 7、动画 8、JavaScript键盘输入 9、综合运用 10、定义级别 11、跳跃与坠落 12、添加道具 13、加载资源 14、添加主菜单 1、认识一下Canvas...
    

有些人认为“JavaScript是Web的汇编语言”完全是精神病说的话。为此,我询问了几位JavaScript权威,比如Brendan Eich(JavaScript之父)、Douglas Crockford(JSON之父),还有Mike Shaver(Mozilla技术副总裁)。以下都是从个人邮件里摘过来的,得到了以上几位的许可。

    本文讨论了两个独立的问题。一个当然就是源代码经过了精简和通常的混淆。但这只是第一个问题。真正的问题在于,JavaScript已经成了其他多种语言的目标语言。GWT是一个用JAVA来写Web应用的框架,它产生的字节码是“JavaScript”。GWT为原来天然的语言(HTML+JS)选择了一个设计好的高级语言,并将整个浏览器当成了一个VM。好,问题来了:我们是在写汇编呢,还是在写某种更高级点的代码?而且,我刚知道Google+是用Closure来写的,但这不影响前面的问题。
    很长时间以来,JavaScript在我眼里都是编程语言中的二等公民。早先,它经常是很多安全问题的发源地,就像是胶水一样,它能把HTML应用与样式粘到一块,可没有人拿它来正正规规地编写程序;这样的情形太普遍了。而Java、Ruby、Python,这些才是真正能用来编写程序的语言。 过去几年间,我对JavaScript的态度有了彻底的改变。JavaScript已经“长大成人”了。我...
    MVC(Model-View-Controller,模型―视图―控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。 MVC 由 Trygve Reenskaug 提出,最早被应用在 SmallTalk-80 环境中。模型―视图―控制器模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外此模式通过对复杂度的简化使程序结构更加直观。软...
     我刚看完Chad Fowler的Passionate Programmer(中文版《我编程,我快乐:程序员职业规划之道》),这本书讲的是如何在软件开发行业中取得非凡的成就。 以下是根据这本书总结的,作为程序员,要取得非凡成需要记住的15件事。 1、走一条不一样的路 在有利于自己的市场中竞争,如果你满足于“泯然众人矣”,那恐怕就得跟那些低工资国家的程序员们同场竞技了。...
    2003年夏天,我还在打理自己第一个小公司的时候,突然想到一个“好主意”:社交新闻阅读器。有点类似后来的Google阅读器加智能收件箱(Priority Inbox)和社会化推荐。我没日没夜地想着这件事,觉也睡不着了。每天人虽然躺在床上,脑子里一直在苦思冥想怎么把这个东西做出来。我可能是得了“痴心妄想症”了。“这个阅读器一定会大受欢迎!”,我...
    

切记,HTML5并不是一门凭空造出来的新语言。它的标记变化都是革新性的,不是革命性的。无论你现在使用哪个版本的HTML创建网站,你都可以说自己已经在使用HTML5了。

    本想先找本算法和数据结构的书参考一下,但转念一想:不如考考自己的总结和逻辑表达能力。 loop、iterate、traversal和recursion这几个词是计算机技术书中经常会出现的几个词汇。众所周知,这几个词分别翻译为:循环、迭代、遍历和递归。乍一看,这几个词好像都与重复(repeat)有关,但有的又好像不完全是重复的意思。那么这几个词到底各是什么含义,有什么区别和联系呢?下面就试着解释一下。 循环(loop),指的是在满足条件的...
    

二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值),那么通过不断缩小包含T的范围,最终就可以找到它。一开始,范围覆盖整个数组。将数组的中间项与T进行比较,可以排除一半元素,范围缩小一半。就这样反复比较,反复缩小范围,最终就会在数组中找到T,或者确定原以为T所在的范围实际为空。对于包含N个元素的表,整个查找过程大约要经过log(2)N次比较。

    

无论从哪个方面讲,我都觉得前端工程师是计算机科学职业领域中最复杂的一个工种。绝大多数传统的编程思想已经不适用了,为了在多种平台中使用,多种技术都借鉴了大量软科学的知识和理念。成为优秀前端工程师所要具备的专业技术,涉及到广阔而复杂的领域,这些领域又会因为你最终必须服务的各方的介入而变得更加复杂。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。

    我主张浏览器应该原生提供中级API,这样才能自如地应对常见用例,同时还可以为不常见的用例留下扩展的空间。API的抽象程度太低,不利于广泛流传,更不容易引起开发社区的重视;API的抽象程度太高,由于限制的用例太专,人们要么能用,要么根本就用不了。目前来看,较新的API似乎有低级化的倾向,如此一来,开发人员在实际使用它们之前,往往需要有第三方来实现一些必要的抽象。我希望能够阻止这种趋势,好让常见用例实现起来更简单,以便人们能够立即使用它们,同时还可以对它们加以扩展。而中级API能够同时满足这两个条件。
[ 共18篇文章 ][ 第1页/共1页 ][ 1 ]
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1