这些词在编程环境中意味着什么
我已经学会了+正在自学编程。我经常看到这些话。如果有人在编程的背景下解释它们,我将不胜感激:
- 引导
- 沙箱
- 脚手架
- 语法糖
- 拆解
- 锅炉板
- VPN
- 夜间构建
- 未镜像的DLL,例如:
aspnet_isapi.dll
I have learned + am learning programming on my own. I see these words often. I would appreciated if someone explained them in the context of programming:
- Bootstrap
- Sandbox
- Scaffolding
- Syntactic Sugar
- Tear Down
- Boiler Plate
- VPN
- Nightly Builds
- Unamaged DLL, e.g.:
aspnet_isapi.dll
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
引导程序
计算机启动过程的最早期部分。真正的“引导”加载器在 20 年左右的时间里才出现在大多数系统上——这个术语来自于“引导加载器”的大小仅足以读取接下来的几条指令并用新的、更大的加载器覆盖自身。这是必要的,因为引导加载程序必须手动输入,这是一个繁琐的过程,涉及计算机前面板上的开关和指示灯。 “Bootstrap”源自短语“通过你的引导来拉动自己”。
沙箱
这是计算机系统中的某种分区,人们可以在其中试验和“玩”新概念,而不会损坏系统的其余部分。这个术语暗指在电子游戏出现之前,许多美国孩子整个夏天都在玩的“沙盒”。这是一个大盒子,通常大约有六英尺见方,一英尺深,里面装满了沙子。孩子们(主要是男孩)会在里面玩玩具拖拉机、玩具士兵、小铲子和水桶等。
脚手架
在建筑行业中,这是一种临时结构,用于协助建造或维护更永久的东西。例如,您经常会看到在建筑物周围架设脚手架,以粉刷建筑物或修理砖石或诸如此类的东西。在计算中,它有一个类似的概念——脚手架是一个(据称)临时软件,用作更永久代码的“替代品”,并允许测试部分编码的应用程序。例如,它可以是与较大系统分开测试子组件的“驱动程序”,或者它可以是尚未编码的子组件的替代品。
语法糖
这是指语言语法中纯粹用于人类理解的符号或单词,而不是向计算机指定预期语义所必需的。例如,一种语言可能有一个“GO TO xxx”语句,而“TO”是不必要的,因为简单地说“GO xxx”不会产生歧义。 C/C++/Java 的语法糖相对较少(暂时想不出任何明显的例子),但 COBOL、SQL 和许多其他语言的语法糖却相当多。
样板板
不确定这个术语起源于哪里,但我怀疑它来自商业法,很可能来自合同法。它指的是某些文档中冗长乏味的“细则”部分,这些部分很可能是从先前文档中逐字复制的(并且使用现代文字处理器,通常使用单个宏或文档包含将其嵌入到文档中) )。基本上,除了律师之外,这些都是毫无意义的胡言乱语。因此,通过扩展,在软件中,“样板”可能是始终包含在程序或过程中的东西,并且通常自动或通过宏提供。
VPN
虚拟专用网络。一个概念是,在您的笔记本电脑上运行的程序将为您机器上的其他程序提供完全加密的 IP 连接,并连接到另一端的安全计算机。 (即,它“看起来像”与其他软件的物理以太网连接。)这允许您使用常规浏览器或电子邮件客户端与另一端进行通信,而不必担心消息被拦截(中央情报局除外)当然),并且无需单独管理每个工具的加密方案。
每晚构建
一些软件商店使用的一种技术,每天晚上都会从头开始重新编译正在开发的产品,并且通常要经过一系列“单元测试”。该过程可以是完全自动的,也可以在不同程度上由人类管理。这通常是为相当大的产品(例如,操作系统)保留的,或者它可以在例如应用程序商店中使用,以重建和测试当前正在开发的所有应用程序。
Bootstrap
The very early part of a computer start-up process. True "bootstrap" loaders have not existed on most systems in 20 years or so -- the term comes from the way a "bootstrap loader" was only big enough to read in the next few instructions and overwrite itself with a new, larger loader. This was necessary since the bootstrap loader had to be keyed in by hand, a tedious process involving switches and lights on the front panel of the computer. "Bootstrap" comes from the phrase "pulling yourself up by your bootstraps".
Sandbox
This is a partition of some sort in a computer system where one can experiment and "play" with new concepts without danger of damaging the rest of the system. This term alludes to the "sandbox" that many US kids played in all summer in the days before video games. It was a large box, typically about 6 feet square and a foot deep, filled with sand. Children (mostly boys) would play in it with toy tractors, toy soldiers, small shovels and pails, etc.
Scaffolding
In the construction trades this is a temporary structure used to assist in the construction or maintenance of something more permanent. You will often see, eg, scaffolding erected around a building to paint it or to repair masonry or what-have-you. In computing its a similar concept -- the scaffolding is a (purportedly) temporary piece of software used as a "stand in" for more permanent code and to permit testing of a partially coded application. It may, eg, be a "driver" to test a subcomponent separately from a larger system, or it may be a substitute for a subcomponent that has not yet been coded.
Syntactic sugar
This refers symbols or words in a language syntax that are there purely for human understanding, vs being necessary to specify the intended semantics to the computer. For instance, a language might have a "GO TO xxx" statement, when the "TO" is unnecessary, given that there's no ambiguity in simply saying "GO xxx". C/C++/Java have relatively little syntactic sugar (can't think of any obvious examples offhand), but COBOL, SQL, and a number of other languages have quite a lot.
Boiler plate
Not sure where this term originated, but I suspect it came from business and most likely contract law. It refers to the long, tedious "fine print" sections in some document that were, in all likelihood, copied verbatim from a prior document (and which, with modern word processors, are often embedded in a document using a single macro or document inclusion). Basically it's stuff that's meaningless drivel to all but the lawyers. So, by extension, in software "boiler plate" may be stuff that's always included in a program or procedure, and usually provided automatically or via macros.
VPN
Virtual private network. A concept where a program running on your laptop, say, will provide other programs on your box with an IP connection that is fully encrypted and which connects to a secure computer on the other end. (Ie, it "looks like" a physical ethernet connection to other software.) This allows you to, eg, use a regular browser or email client to communicate with the other end with no fear of having the messages intercepted (except by the CIA, of course), and without having to individually manage the encryption schemes for each tool.
Nightly builds
A technique used in some software shops where every night a product under development is recompiled from scratch and usually subjected to a series of "unit tests". This process may be wholly automatic or may be managed by humans to varying degrees. This is usually reserved for fairly large products (eg, operating systems), or it may be used in, eg, app shops to rebuild and test all of the apps currently under development.
老实说,我并不了解所有这些,但我可以说:
Bootstrap ->它指的是一个启动进程和相关活动
Sandbox ->它代表了一种机制,其中应用程序/代码包含在一个区域中,并且无法访问外部资源/硬件/代码(iPhone 应用程序就是一个完美的例子)
Tear down ->意味着破坏物体!它从根本上与单元测试框架相关......它们有一个tearDown()方法,可以在其中释放/销毁用于测试
Boiler Plate的对象 ->它是一个“预煮”代码块,可以用作编写自己的代码的起点...由 IDE 自动生成的方法可以被视为样板代码
Honestly I don't know them all, but I can say that:
Bootstrap -> it refers to a starting process and related activities
Sandbox -> it represents a mechanism in which an application/code is contained into an area and can't access external resources/hardware/code (iPhone applications are a perfect example)
Tear down -> means destroy objects! It's fundamentally related to Unit Testing frameworks... they have a tearDown() method into which is possible to release/destroy object used for the test
Boiler Plate -> it's a block of "precooked" code that can be used as a starting point to write your own code... methods generated automatically by IDE can be considered boilerplate code
Bootstrap - 驻留在硬盘上特殊位置的程序,负责加载和执行操作系统。
语法糖 - 指的是简化执行相同操作的另一种语法的语法。例如i+=1;是 i = i + 1 的语法糖;
拆除 - 指在不再需要资源后释放资源的过程。
夜间构建 - 每天晚上使用通常来自 SVN 等存储库的当前源代码编译的程序
非托管 DLL - 指任何非 .net dll。
Bootstrap - the program that resides on a special location on harddrive and is responsible for loading and executing the Operating System.
Syntactic Sugar - refers to a syntax that simplifies another syntax that does same thing. For example i+= 1; is syntactic sugar to i = i + 1;
Tear down - refers to the process of freeing resources after they're no longer required.
nightly builds - a program that is compiled every night using current source code usually from a repository such as SVN
Unmanaged DLL - refers to any none .net dlls.
如果您有一些背景知识,您应该能够很容易地找到有关它们的信息......
语法糖:
a + b
并不意味着任何超过a.__add__(b)
( Python)。VPN:虚拟专用网络——通过隧道从外部进入网络。
nightly build:夜间编译
You should be able to find information about them pretty easily if you have some background …
Syntactic Sugar:
a + b
does not mean anything more thana.__add__(b)
(Python).VPN: Virtual private network -- be in a network from outside with a tunnel.
nightly build: compile during the night