关于编程里的那些 ABCDEFG

A – Angular.JS 如果被设计用来构建 Web 应用程序的话,那就和 HTML 没什么区别了。它是一款开源 JavaScript 函式库,由 Google 和它的社区来维护,用来协助单一页面应用程式运行的。它的目标是透过 MVC模式(Model-View-Controller)功能增强基于浏览器的应用,使开发和测试变得更容易。函式库读取包含附加自定义(标签属性)的 HTML,遵从这些自定义属性中的指令,并将页面中的输入或输出与由 JavaScript 变量表示的模型绑定起来。这些 JavaScript 变量的值可以手工设置,或者从静态或动态 JSON 资源中获取。

Angular.JS 是建立在这样的信念上的:即声明式编程应该用于构建用户界面以及编写软件构建,而指令式编程非常适合来表示业务逻辑。Angular.JS 最引人注目的特征就是它的双向数据绑定功能,这样可以大大减少你在必要代码上的编写数量,Coder Factory 最先向澳大利亚提供 Angular.JS课程。

B – Booststrap 是一个用于响应式前端开发的框架,最主要是应用在移动 Web App 上面。它由Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS/HTML 框架。Bootstrap 提供了优雅的 HTML 和 CSS 规范,它即是由动态 CSS 语言 Less 写成。Bootstrap 一经推出后颇受欢迎,一直是 GitHub 上的热门开源项目,包括 NASA 的 MSNBC(微软全国广播公司)的 Breaking News 都使用了该项目。

Bootstrap 是基于 jQuery 框架开发的,它在 jQuery 框架的基础上进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容大部分 jQuery 插件。

C – CSS 是 Cascading Style Sheet 的缩写,中文名称是层叠样式表,又称串样式列表、层次结构式样式表文件,一种用来为结构化文档(如 HTML 文档或XML 应用)添加样式(字体、间距和颜色等)的计算机语言,由 W3C 定义和维护。目前最新版本是CSS2.1,为 W3C 的推荐标准。CSS3 现在已被大部分现代浏览器支持,而下一版的 CSS4 仍在开发过程中。

CSS 最重要的目标是将文件的内容与它的显示分隔开来。在 CSS 出现前,几乎所有的 HTML 文件内都包含文件显示的信息,比如字体的颜色、背景应该是怎样的、如何排列、边缘、连线等等都必须一一在 HTML 文件内列出,有时重复列出。CSS 使作者可以将这些信息中的大部分隔离出来,简化HTML 文件,这些信息被放在一个辅助的,用 CSS 语言写的文件中。HTML 文件中只包含结构和内容的信息,CSS 文件中只包含样式的信息。

D – DRY 是 Don’t repeat yourself 的简称,一个规则,实现一次(one rule, one place)是面向对象编程中的基本原则,程序员的行事准则。旨在软件开发中,减少重复的信息。

DRY 的原则是──系统中的每一部分,都必须有一个单一的、明确的、权威的代表──指的是(由人编写而非机器生成的)代码和测试所构成的系统,必须能够表达所应 表达的内容,但是不能含有任何重复代码。当 DRY 原则被成功应用时,一个系统中任何单个元素的修改都不需要与其逻辑无关的其他元素发生改变。此外,与之逻辑上相关的其他元素的变化均为可预见的、均匀的, 并如此保持同步。违反 DRY 原则的解决方案通常被称为 WET,指代“Write everything twice”。

E – Elegant 每一个代码都应该是优雅、简洁的。其实编写程序的过程就像是一种艺术,也许有些人会问你:“如果可以编写有效代码的话,为什么还要编写优雅代码呢?”然而,我们认为提供优雅代码的标准首先这个目的就是比较好的,因为它会带领程序员编写出更加简明的、可维护的代码。

你应该永远记住:读代码比写代码更重要。我猜你不想让你的同事花整个周末的时间来搞懂你的代码到底是什么意思吧!所以多花一点时间让代码更漂亮!

F – Flash 是由 Adobe 开发出来的用于创建动画视频、图形和互联网应用程序的。就像你刚从一个粗略的网站上看到的一部电影一样,都是通过 Adobe Flash 播放器播放的。尽管有很指责说 Flash 很耗资源且不安全,但是绝大多数网站上一直在使用它。

或许你已经听说了 Steve Jobs 拒绝将 Flash 用在苹果设备上,如果真的有所说的那样的缺点,或许只是 Steve Jobs 和 Flash 之间的个人恩怨,那样我们可能永远不会发现 Flash 的伟大之处。即使 HTML5 被预测为 Flash 的即将继承者,但是 Flash 仍然值得我们多看它几眼。

G – GitHub 是每一位编码人员的最好的朋友。拥有超过 1150万 个仓库的 GitHub 是这个世界上最大的代码托管网站。GitHub 包含社交网络功能允许开发人员将他们的项目整合到一起,这样一来的话就能在对开源软件以及私人项目的维护产生重大意义。

GitHub 提供免费和付费计划,只需选择你所需要的东西。有趣的是:GitHub 是建立在 Ruby on Rails 基础上的,Coder Factory 可以教你框架。

H – Hydra code 是一段不能修复的代码,就像古希腊怪物每个脖子上都生出两个头,最后都被 Hercules 砍掉了。代码有的时候就像这个一样,即使你修复了一个bug之后,又会出现很多个bug,所以,除了重写整个代码以外,你别无选择。

I – Graphic User Interface 图形用户界面,这是一种自我解释。图形用户界面估计是你看到最多的也是互动最多的一部分。第一个 GUI 是在 Stanford Research Institute 发明的,后继开发是由 Xerox PARC 施行的。在参观完 Xerox 之后,Steve Jobs 首次将GUI技术用在了 Apple Lisa 和 Macintosh 上面,在当时来说这是一次革命创举。

Bill Gates 发布 Windows GUI 之后,看看下面这段有趣的对话,Steve:“你偷了我们的技术!”Bill 回应:“我想我们两个都有一个叫做 Xerox 的非常富有的邻居,但是当我跑到他的房间里想要偷走电视机的时候,我发现你已经把电视机偷走了。”哈哈哈

J – Javascript 是一个动态的编程语言(尤其是在客户端),可以让你在不用刷新网页的情况下更新网页内容。虽然 Angular.js 是一个相当不错的框架,但它是 建立在 JavaScript 这个基础之上的。

JavaScript 最先是由 Netscape 开发的,用来对抗和 Microsoft 进行的浏览器之战。现在的Javascript 已经出现在高级 App 开发课程里面了。

K – Donald Knuth 是一个很有趣的IT专家,它也是我们很喜欢的书《The Art of Computer Programming》的作家。现在他是 Stanford University 的名誉教授,也是公认的“算法分析之父”。

L – Libraries 代码类库是实现行为的一个收集,这里面有一个接口用来调用行为。估计这么说的话听起来还是比较复杂的。基本上可以这么理解:通过类库这种方式将这些代码组织起来,这样就可以被很多没有什么关系的程序调用了。于是,用户只需要知道类库的界面就行了,而不是内部的逻辑结构。

M – MongoDB 是一种文件导向数据库管理系统,由 C++ 撰写而成,以此来解决应用程序开发社区中的大量现实问题。2007年10月,MongoDB 由 10gen 团队所发展。

MongoDB 可以从开放源代码来建构与安装,更常见的是安装 binary 文件,目前有 Windows,Linux,OS X 和 Solaris 版本。许多 Linux 套件管理系统现在已包含了 MongoDB 的套件,包括 CentOS 和 Fedora,Debian 和 Ubuntu。MongoDB 已经被一些重要的网站所采纳了,例如 Ebay,Craigslist 甚至是 New York Times。

N – Nopping 是一个用于区分输出的编辑器,来源于 NOP(no-operation),这是编程行业里的行话——小睡一下。每个人时不时的都需要休息一下,现在就NOP一下吧!

O – Object 面向对象的编程是一个范例,代表这一概念所描述的对象的属性和方法改变。对象通常是类的实例,设计应用程序已达到彼此交互设计的目的。许多主要的编程语言如C++、Java、Ruby和 PHP 都是面向对象的。

P – Push 推动基础的交流来描述一个互动请求,这首先是出版商发起的,例如这些需求都是来自服务器而不是来自客户端的推送。

Q – Quality 代码质量是一个广义上的术语,每个程序员都有自己的不一样的定义。我们通常比较乐于将代码质量描述为易读的、可测试的、灵活的、依赖关系小、顺从的,还有就是经济的。这一原则被称为LTFCE。

R – Ruby on Rails 是一个使用 Ruby 语言写的开源 Web 应用框架,严格按照 MVC 结构开发的。在2005年左右由 David Heinemeier-Hansson 开发出来的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。Rails 的设计原则包括“不做重复的事”(Don’t Repeat Yourself)和“惯例优于设置”(Convention Over Configuration)。

Ruby on Rails 是一种结合 Ruby 语言与 Rails 平台的一种网页编程语言,Ruby 语言以自然、简洁、快速著称,全面支持面向对象程序设计,而 Rails 则是 Ruby 广泛应用方式之一,在 Rails 平台上设计出一套独特的 MVC 开发架构,采取模型(Model)、外观(View)、控制器(Controller)分离的开发方式,不但减少了开发中的问题,更简化了许多繁复的动 作。

S – Scaffolding 框架是一个技术,用在 MVC 框架上,例如 Ruby on Rails。通过 Scaffolding 基架,开发者可以详细说明一个数据库到底是怎么运作的。允许你生成代码,例如使用非常简化的方法来读取、创建或删除数据库条目。Scaffolding 基架基于数据库架构生成网页模板的过程。在 ASP .NET 中,动态数据使用基架来简化基于 Web 的 UI 的生成过程。用户可以通过这种 UI 来查看和更新数据库。

T – Alan Mathison Turing (又译阿兰·图灵,1912年6月23日-1954年6月7日),被认为是计算机科学的保护神,但是,他是一个永远也得不到公正宣布的圣人。他是英国数学家、逻辑学家,他被视为计算机科学之父。

图灵对于人工智能的发展有诸多贡献,例如图灵曾写过一篇名为《机器会思考吗?》(Can Machines Think?)的论文,其中提出了一种用于判定机器是否具有智能的试验方法,即图灵测试。至今,每年都有试验的比赛。此外,图灵提出的著名的图灵机模型为 现代计算机的逻辑工作方式奠定了基础。

U – Usability 可用性测试是一个很有存在意义的任务,在你的App出现在众人面前之前必须要经过可用性测试。你的代码也许很优雅、质量很高、不会重复,但是要是它的可用性不过关的话,那么一切都是扯淡。你想让你的 App 尽可能的用户友好型的,那么用户是不会让你的产品埋没的。

一个最常见的技术测试就是 A/B testing,这种方法就是用两种不同的介绍方式将产品介绍给不同的用户,并且监视结果。效果最好的那个才会被采纳。

V – for View 对于外观、模型、控制器来说,它们就是实现用户界面的样品。这里面的核心部件就是 Model,其包括App 数据,商业逻辑规则和产品功能。View 是实际产出,也是你的用户在浏览器里最想看到的。Controller 接收输入并将其转换成命令传送给 Model 或者是 View。

W – W3C 是 World Wide Web Consortium 的缩写,是Web上主要的国际标准组织,由互联网的发明者 Tim-Berners Lee 创建并由其领导,W3C是 World Wide Web 的监护者。

X – Experience 很多人都认为他们能学习代码并能做得很好,就像 Mark Zuckerberg 一样。事实是:作为一个开发者,根本没有停下来学习的时候。科技技术改变的速度很快、很迅速,也就是说,在你的整个职业生涯里你必须抓住机会不断学习新的知识。

Y – Yoda Yoda 条件是一个编程术语,用来编写一个表达的两个部分,而这个表达是一个典型条件语句顺序的颠倒表达方式,就像“learn to code you should, young padawan”。

Z – Konrad Zuse 当然,在这个综合性的列表上,我们没办法将 Konrad Zuse 排除在外。他是一位德国科学家,创造出了第一台可编程的计算机——Turing-complete Z3。在第二次世界大战之后,IBM 选择了它的专利,这也是他的工作第一次被德国以外的国家所认可。

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-11-09 02:42:35

关于编程里的那些 ABCDEFG的相关文章

请问Java Swing编程里怎样将一个Image里的数据复制到另一个Image里?

问题描述 请问Java Swing编程里怎样将一个Image里的数据复制到另一个Image里? 请问如何将一个Image里的所有数据复制到另一个Image(比如Image2)里?让Image里的数据与Image2里的数据相同,对Image的数据进行操作时,对Image2无影响 解决方案 http://www.iteye.com/problems/80309

关于编程里的那些ABC

关于编程里的那些ABC 本文主要是一篇基础类整理文章,按照26个字母的排序,整理出一些在编程上比较重要的工具.框架.语言等等. A - Angular.JS 如果被设计用来构建 Web 应用程序的话,那就和 HTML 没什么区别了.它是一款开源 JavaScript 函式库,由 Google 和它的社区来维护,用来协助单一页面应用程式运行的.它的目标是透过 MVC模式(Model-View-Controller)功能增强基于浏览器的应用,使开发和测试变得更容易.函式库读取包含附加自定义(标签属性

qt编程里面的treeview显示的问题

问题描述 qt编程里面的treeview显示的问题 itemProject->setChild(itemPd->index().row(),1,new QStandardItem(QString(QLatin1String(ret)))); 用这句话添加目录的第二列信息,界面变得不规则,如下图: 用itemProject->setChild(itemPd->index().row(),1,new QStandardItem(QStringLiteral("12"

泛函编程(21)-泛函数据类型-Monoid

    Monoid是数学范畴理论(category theory)中的一个特殊范畴(category).不过我并没有打算花时间从范畴理论的角度去介绍Monoid,而是希望从一个程序员的角度去分析Monoid以及它在泛函编程里的作用.从这个思路出发我们很自然得出Monoid就是一种数据类型,或者是一种在泛函编程过程中经常会遇到的数据类型:当我们针对List或者loop进行一个数值的积累操作时我们就会使用到Monoid.实际上Monoid就是List[A] => A的抽象模型.好了,我们就不要越描

PHP编程:探索字串的奥秘

编程 在许多Web编程里,字符串总是会被大量地生成和处理的.正确地使用和处理字符串,对于PHP程 序员来说也同样越来越重要了.本文从最简单的字符串定义一直引导你到高层字符串处理技巧,希望 对大家有所帮助. 一.引号定义字符串 在PHP中,通常一个字符串被定义在一对引号中,如: 'I am a string in single quotes' "I am a string in double quotes" PHP语法分析器是用成对的引号来判断一个字符串的.因此,所有字符串必须使用同一种

编程中Foo和Bar的含义

1 前言 在很多国外计算机书本和一些第三份开源软件的Demo中经常用到两个英文单词Foo,Bar.这到底是什么意思呢?从步入屌丝界的IT生活简单这两个单词到现在我还是不知道这两个单词的真正含义,今天有必要查查总结下. 2 维基百科上的解释 原文: The terms foobar, foo, bar, baz and qux are sometimes used as placeholder names (also referred to as metasyntactic variables)

文件系统驱动编程基础篇之2——标准模型

二.标准模型 WDM采用了结构化的编程方式,执行效率很高,但编写效率较低,这也是DriverStudio得以发展的重要原因.正如掌握了COM原理,使用ATL才能掌握精髓的道理一样,读者需要忍受记忆大量基础知识的"痛苦",暂时放弃编写驱动程序的捷径. 下面的某些图示稍显陈旧,不过已经足以说明问题了. 尽管驱动程序分为多个种类(图1-4),但它们包含的基本内容(图1-5)是一致的.每个驱动程序都从初始化程序DriverEntry进入,通过某个派遣例程DispatchXXX派发特定命令(我们

泛函编程(6)-数据结构-List基础

    List是一种最普通的泛函数据结构,比较直观,有良好的示范基础.List就像一个管子,里面可以装载一长条任何类型的东西.如需要对管子里的东西进行处理,则必须在管子内按直线顺序一个一个的来,这符合泛函编程的风格.与其它的泛函数据结构设计思路一样,设计List时先考虑List的两种状态:空或不为空两种类型.这两种类型可以用case class 来表现: 1 trait List[+A] {} 2 case class Cons[+A](head: A, tail: List[A]) exte

运行时和编译时元编程—编译时元编程

原文链接    译文链接     译者:JackWang 运行时和编译时元编程 第二部分 2 编译时元编程 Groovy的编译时元编程支持编译时生成代码.这些变换(译者注:原文该专有名词是transformations,译者直译为变换,也许不准确.如果有知道准确翻译的读者恳请不吝赐教,待译者修正)叫做程序的抽象语法树(AST),在Groovy里,我们叫做AST变换.AST变换支持在编译过程中植入钩子,修改抽象语法树之后继续编译生成正常的字节码流.和运行时元编程相比,这种转换可以在类文件的修改可见