• Docker Orchestration… What It Means and Why You Need It 原文作者：Cloudify Community 原文地址：https://dzone.com/articles/docker-orchestration-what-it 译者微博：@从流域到海域 译者博客：blog.csdn...
Docker Orchestration… What It Means and Why You Need It

原文作者：Cloudify Community
原文地址：https://dzone.com/articles/docker-orchestration-what-it
译者微博：@从流域到海域
译者博客：blog.csdn.net/solo95
本文同样刊载于腾讯云+：https://cloud.tencent.com/developer/article/1019149

Docker 编配 …它是什么意思，为什么你会需要它

本文由Yaron Parasol编写

Docker容器是为了帮助快速，可靠地部署应用程序组件或层(tier)而被发明的，其实现方法是创建一个容器，该容器包含可自行部署的应用程序部分以及成功运行它们所需要的中间件和应用程序业务逻辑。例如，Tomcat容器中的Spring应用程序。按照设计，Docker被故意设计为应用程序中独立出来的独立的部分，通常是层中的一层或甚至层中的一个节点。

然而，一个应用程序通常是在其体系中是多层架构的，这意味着存在层与层之间的依赖关系，依赖的本质可以是从网络连接和远程API调用到应用程序层之间的消息交换之间的任何东西。因此，应用程序是一组具有特定配置的不同容器。这就是为什么你需要一种方法来把你的应用程序粘贴在一起。

虽然Docker有一个使用Docker bridge的基本解决方案，但是这个解决方案并不总是首选，尤其是在跨不同主机部署容器时，您需要关注真正的网络设置。

如何使用TOSCA + Cloudify编配Docker。让我们来一探究竟。点这里

那么，orchestrator扮演什么角色呢？
(orchestrator，音乐中指乐器的调配者，这个建议不翻译，或者参考番剧《中二病也要谈恋爱》，翻译成圣调理人(๑•̀ㅂ•́)و✧)

orchestrator将会处理两件事：

容器创建的时机 - 因为容器需要依赖和顺序创建
为了允许容器相互通信而进行的对容器的配置 - 为此，orchestrator需要在容器之间传递运行时的某些属性。
作为一个方面的说明：在Docker中，你需要一个特殊的调整，因为你通常不会碰到容器内的配置文件，为了容器保持完好无损，对于这种情况需要一个有趣的解决方法。

一种方法是使用基于YAML的编配方案(orchestration plan)编排应用程序的部署和部署后的自动化过程，这是Cloudify采用的方法。基于TOSCA（云应用程序的拓扑和编配标准），这个编配方案描述了组件及其生命周期，以及组件之间的关系，特别是涉及到复杂的拓扑时。这包括什么与什么相连接，什么host了什么，以及其他这样的考虑。TOSCA能够描述基础架构，以及中间件层和应用层。Cloudify基本上采用这个TOSCA编配方案（在Cloudify中称为blueprint），并使用遍历组件的图(graph)或这个方案的组件并向代理发布命令这样的工作流来实现这个方案。然后创建应用程序组件并将它们粘合在一起。

代理使用被称为插件的扩展(程序)，它们是Cloudify配置和各种基础架构即服务（IaaS）以及自动化工具的API之间的适配器。

在我们的例子中，我们创建了一个与Docker API接口的插件。

Docker Cloudify插件介绍

该Cloudify-Docker插件简单直接，它在机器上安装Docker API 终端/服务器，然后使用Docker-Py把容器

的创建，配置和删除结合起来。TOSCA生命周期事件是：

Create(创建) - 安装应用程序组件
Configure(配置) - 组件的配置
Start - 启动/运行组件
还有stop(停止)和(delete)删除 - 关闭和删除
我们从Create开始使用  - 创建一个容器，我们没有在一开始时就去实现配置，并开始运行应用程序。但后来我们意识到，对于具有依赖性的容器，我们需要有运行时的环境属性，比如为了创建容器，我们需要导入相应容器的IP。当我们创建一个app服务器容器时，我们需要端口和数据库容器的IP。因此我们把容器的创建推到了configure eventceng层面上，并且使用了一个基于TOSCA relationship的预配置钩子来在运行时获取相关容器的信息。

将运行时信息公开到具有依赖关系的容器的方法是将它们设置为环境变量。

查看源代码

打印

有疑问？

01. interfaces:

02.  cloudify.interfaces.lifecycle:

03.  configure:

04.  implementation: docker.docker_plugin.tasks.configure

05.  inputs:

06.  container_config:

07.  command: mongod--rest--httpinterface --smallfiles

08.  image: dockerfile/mongodb

09.  start:

10.  implementation: docker.docker_plugin.tasks.run

11.  inputs:

12.  container_start:

13.  port_bindings:

14.  27017: 27017

15.  28017: 28017

Nodecellar 示例

我想通过使用我们的Nodecellar app作为例子来解释这是如何工作的。Nodecellar app由两台主机组成，在这种情况下，Cloudify不创建，只是SSH进入，然后安装代理。一方面，我们有带MongoD进程的MongoD容器。另一方面，我们有带NodeJS和Nodecellar应用程序的Nodecellar容器。Nodecellar容器需要连接到MongoD容器，以在应用程序启动时运行app queris。

最终，orchestrator不应该仅仅局限于软件部署，Docker背后的全部思想是为了保持灵活性，所以我们也希望在自动扩展、自动修复和CD的情况下使用Docker。在下一篇文章中，我们将精确地展示如何将Cloudify与Docker一起用于后期部署场景。
展开全文
• fclose不明确什么意思There is a ‘/b/’ in the posts’ URLs on fclose.com . What does it mean?... 这是什么意思It originally means “blog” when the blogs are first set up. This site chang...
fclose不明确什么意思There is a ‘/b/’ in the posts’ URLs on fclose.com . What does it mean? fclose .com上帖子的URL中有一个“ / b /”。 这是什么意思？
It originally means “blog” when the blogs are first set up. This site changes to not only a blog (one good example is this forum) over time. However, the URLs are kept unchanged and the ‘/b/’ has no special meanings anymore. 最初建立博客时，其原意是“博客”。 随着时间的推移，该站点不仅更改为博客（此论坛是一个很好的例子）。 但是，URL保持不变，并且'/ b /'不再具有特殊含义。
翻译自: https://www.systutorials.com/what-does-the-b-mean-in-the-url-of-fclose-com-systutorials-qa/fclose不明确什么意思
展开全文
• The other day a reader wrote in asking if cloud computing could help save his hard drive space, which made me realize that it’s time to talk about exactly what this moronic buzzword really means. ...
The other day a reader wrote in asking if cloud computing could help save his hard drive space, which made me realize that it’s time to talk about exactly what this moronic buzzword really means.
前几天，一位读者在问云计算是否可以帮助节省硬盘空间时写道，这使我意识到，是时候谈论这个moronic流行语的真正含义了。
什么是云计算？ (What is Cloud Computing?)
According to the National Institute of Standards and Technology, the definition for “Cloud Computing” is this incomprehensible piece of nonsense clearly written to be as confusing as possible:
根据美国国家标准技术研究院的说法，“云计算”的定义是这样一个难以理解的废话，清楚地写得尽可能混乱：
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
云计算是一种模型，用于实现对可配置计算资源(例如，网络，服务器，存储，应用程序和服务)共享池的便捷，按需网络访问，这些资源可通过最少的管理工作或服务提供商快速进行配置和发布。相互作用。 So what’s a definition for real people?
那么，对真实人的定义是什么？
云计算= Web应用程序
(Cloud Computing = Web Applications)
That’s all there is to it. If you’re using a web or internet-based application from a major provider like Google or Microsoft, you’re using cloud computing. Congrats!
Every web application that you’ve ever used, like Gmail, Google Calendar, Hotmail, SalesForce, Dropbox, and Google Docs, are based on “cloud computing”, because when you connect to one of these services, you’re really connecting to a massive pool of servers somewhere out there on the internet. The client doesn’t need to be a web browser, but that’s the direction everything is heading.
Think there’s more to it than that? Don’t believe me? Just listen to Larry Ellison, the CEO & co-founder of Oracle, talk about how moronic this term really is:
认为还有更多呢？ 不相信我吗 只需听听Oracle首席执行官兼联合创始人拉里·埃里森(Larry Ellison)谈一谈这个术语的真实含义是什么：
那么为什么要使用云计算呢？ (So Why Cloud Computing?)
We’ve already established that it’s a pointless term that simply describes web applications, which have been around for a very long time—but in order to get businesses to start switching to web applications instead of self-hosted servers, the marketing types invented a new buzzword.
我们已经确定，这是一个无意义的术语，仅描述已经存在很长时间的Web应用程序，但是为了使企业开始切换到Web应用程序而不是自托管服务器，营销类型发明了一种新的流行语。
The reason why they used the word “cloud” in the buzzword is simple: in network diagrams, the internet is usually represented with a cloud in the middle of the drawing. Those marketing drones are inventive, aren’t they?
他们在流行语中使用“云”一词的原因很简单：在网络图中，互联网通常在图形中间用云表示。 那些营销无人机是有创造力的，不是吗？
So basically the term itself is just a way for consultants and companies to sell more services in a shiny new package. Here’s a good illustration of how this works:
因此，基本上，术语本身只是顾问和公司以崭新的方式出售更多服务的一种方式。 这是如何工作的一个很好的例证：
Comic by Geek and Poke
极客和戳 漫画
云计算如何帮助我？ (How Can Cloud Computing Help Me?)
Since businesses everywhere are moving their applications to the web and coming out with new and interesting features accessible through your web browser, you’ll soon be able to access virtually anything from any browser on any PC, and the lines will blur between desktop and the internet.
由于各地的企业都在将其应用程序转移到Web上，并具有可通过Web浏览器访问的有趣的新功能，因此您很快就可以从任何PC上的任何浏览器访问几乎任何内容，并且台式机和台式机之间的界限将变得模糊。互联网。
Now that Microsoft has finally released the beta for Internet Explorer 9, which supports new web standards like HTML5 and uses hardware acceleration to make the whole experience speedy—every browser will finally be on the same footing. When Microsoft said that IE9 is going to change the web, they weren’t kidding—they were the only ones holding the web back with their anemic IE7 and IE8 browsers, not to mention the ancient IE6. And now the nightmare is finally almost over.
现在，Microsoft 终于发布了Internet Explorer 9 Beta ，它支持HTML5等新的Web标准，并使用硬件加速来加快整个体验的速度-每个浏览器最终都将处于同一地位。 当微软表示IE9将改变网络时，他们并不是在开玩笑-他们是仅有的那些用贫乏的IE7和IE8浏览器来阻止网络运行的人 ，更不用说古老的IE6了。 现在，噩梦终于结束了。
It’ll get even more interesting whenever Chrome OS is finally released, which is basically an entire operating system built around a web browser as the primary interface, with all of your applications as web applications instead of local—hopefully it will support web integration like IE9 does with the Windows 7 taskbar.
每当Chrome OS最终发布时，它都会变得更加有趣，它基本上是围绕Web浏览器作为主要界面构建的整个操作系统 ，所有应用程序都作为Web应用程序而不是本地应用程序-希望它将支持Web集成，例如IE9使用Windows 7任务栏。
云计算对企业有何不同？ (How Is Cloud Computing Different for Businesses?)
If you’re in the IT world you’re probably scratching your head at this point and thinking that I’m oversimplifying the idea behind cloud computing, so let’s explain the real difference from the more technical side of things.
如果您处在IT世界中，那么此时您可能会scratch之以鼻，并认为我过于简化了云计算背后的想法，因此，让我们从技术层面上解释一下真正的区别。
In the past, every company would run all of their applications on all of their own servers, hosted at their own location or data center. This obviously requires a lot of maintenance and money to keep everything running, upgraded, and secure.
过去，每个公司都会在自己的位置或数据中心托管的所有服务器上运行所有应用程序。 显然，这需要大量维护和金钱才能保持一切正常运行，升级和安全。
From a business perspective, businesses can now move much of their computing to cloud services, which provide the same applications that you would install on your own servers, but now they are accessible over the internet for any of their customers. Have you read about companies switching to Google Docs? That’s a perfect example of companies switching from hosting their own local servers to using cloud computing instead.
But what if your company provides a service to others? You can also take advantage of cloud computing by creating applications that don’t run on your own servers, but actually utilize server resources provided by one of the big providers—Google has App Engine, Microsoft has Windows Azure, and Amazon has their EC2 framework.
但是，如果您的公司为他人提供服务怎么办？ 您还可以通过创建不在您自己的服务器上运行但实际上利用由大型提供商之一提供的服务器资源的应用程序来利用云计算的优势-Google具有App Engine ，Microsoft具有Windows Azure和Amazon具有其EC2框架 。
Most of these services operate on a pay-for-resources basis—so your application only gets charged for the amount of CPU and network use that it actually uses—when your application is small and doesn’t have a lot of users, you don’t get charged much, but the benefit is that it can scale up to 10,000 users without any trouble (though you’ll be paying a lot more for the added CPU usage).
这些服务大多数都是按资源付费运行的-因此，您的应用程序仅按其实际使用的CPU和网络使用量付费-当您的应用程序很小且没有很多用户时，您不必收费不高，但是好处是它可以扩展到10,000个用户而没有任何麻烦(尽管您将为增加的CPU使用量支付更多的费用)。
Still need more? Here’s a video that explains it with… little fluffy clouds.
还需要更多吗？ 这是一段用...蓬松的小云彩解释的视频。

Web Applications are the future. Cloud Computing is a stupid buzzword. Discuss.
Web应用程序是未来。 云计算是一个愚蠢的流行词。 讨论。
翻译自: https://www.howtogeek.com/howto/32016/what-is-cloud-computing-and-what-does-this-stupid-buzzword-mean/
展开全文
• linux中一切都文件One of the defining features of Linux and other UNIX-like operating systems is that “everything is a file.” This is an oversimplification, but understanding what it means will ...
linux中一切都是文件One of the defining features of Linux and other UNIX-like operating systems is that “everything is a file.” This is an oversimplification, but understanding what it means will help you understand how Linux works.
Linux和其他类似UNIX的操作系统的定义特征之一是“一切都是文件”。 这是一个过分的简化，但是了解其含义将帮助您了解Linux的工作方式。
Many things on Linux appear in your file system, but they aren’t actually files. They’re special files that represent hardware devices, system information, and other things — including a random number generator.
Linux上的许多内容都出现在文件系统中，但实际上并不是文件。 它们是代表硬件设备，系统信息和其他事物的特殊文件，包括随机数生成器。
These special files may be located in pseudo or virtual file systems such as /dev, which contains special files that represent devices, and /proc, which contains special files that represent system and process information.
这些特殊文件可能位于伪文件系统或虚拟文件系统中，例如/ dev(其中包含代表设备的特殊文件)和/ proc(其中包含代表系统和进程信息的特殊文件)。
/ proc (/proc)
For example, let’s say you want to find information about your CPU. The /proc directory contains a special file – /proc/cpuinfo – that contains this information.
例如，假设您要查找有关CPU的信息。 / proc目录包含一个特殊文件-/ proc / cpuinfo-包含此信息。
You don’t need a special command that tells you your CPU info – you can just read the contents of this file using any standard command that works with plain-text files. For example, you could use the command cat /proc/cpuinfo to print this file’s contents to the terminal – printing your CPU information to the terminal. You could even open /proc/cpuinfo in a text editor to view its contents.
您不需要一个特殊的命令来告诉您您的CPU信息，您只需使用适用于纯文本文件的任何标准命令即可读取该文件的内容。 例如，您可以使用命令cat / proc / cpuinfo将文件的内容打印到终端-将CPU信息打印到终端。 您甚至可以在文本编辑器中打开/ proc / cpuinfo来查看其内容。
Remember, /proc/cpuinfo isn’t actually a text file containing this information – the Linux kernel and the proc file system are exposing this information to us as a file. This allows us to use familiar tools to view and work with the information.
请记住，/ proc / cpuinfo实际上不是包含此信息的文本文件-Linux内核和proc文件系统会将这些信息作为文件公开给我们。 这使我们能够使用熟悉的工具来查看和使用信息。
The /proc directory also contains other similar files, for example:
/ proc目录还包含其他类似文件，例如：
/proc/uptime – Exposes the uptime of your Linux kernel – in other words, how long your system has been on without shutting down. / proc / uptime-公开Linux内核的正常运行时间-换句话说，您的系统在不关闭的情况下已经运行了多长时间。
/proc/version – Exposes the version of your Linux kernel. / proc / version-公开Linux内核的版本。
/ dev (/dev)
In the /dev directory, you’ll find files that represent devices – as well as files that represent other special things. For example, /dev/cdrom is your CD-ROM drive. /dev/sda represents your first hard drive, while /dev/sda1 represents the first partition on your first hard drive.
在/ dev目录中，您将找到代表设备的文件以及代表其他特殊内容的文件。 例如，/ dev / cdrom是您的CD-ROM驱动器。 / dev / sda代表您的第一个硬盘驱动器，而/ dev / sda1代表您的第一个硬盘驱动器的第一个分区。
Want to mount your CD-ROM? Run the mount command and specify /dev/cdrom as the device you want to mount. Want to partition your first hard drive? Run a disk-partitioning utility and specify /dev/sda as the hard disk you want to edit. Want to format the first partition on your first hard drive? Run a formatting command and tell it to format /dev/sda1.
要挂载CD-ROM吗？ 运行mount命令，然后将/ dev / cdrom指定为要挂载的设备。 是否要分区第一个硬盘？ 运行磁盘分区实用程序，然后将/ dev / sda指定为要编辑的硬盘。 是否要格式化第一个硬盘上的第一个分区？ 运行格式化命令，并告诉它格式化/ dev / sda1。
As you can see, exposing these devices as part of the file system has its advantages. The file system provides a consistent “name space” that all applications can use to address and access the devices.
如您所见，将这些设备作为文件系统的一部分公开具有其优势。 文件系统提供了一个一致的“名称空间”，所有应用程序都可以使用该名称空间来访问和访问设备。
/ dev / null，/ dev / random和/ dev / zero (/dev/null, /dev/random, and /dev/zero)
The /dev file system doesn’t just contain files that represent physical devices. Here are three of the most notable special devices it contains:
/ dev文件系统不仅包含代表物理设备的文件。 以下是其中包含的三个最著名的特殊设备：
/dev/null – Discards all data written to it – think of it as a trash can or black hole. If you ever see a comment telling you to send complains to /dev/null – that’s a geeky way of saying “throw them in the trash.” / dev / null –丢弃所有写入其中的数据–将其视为垃圾桶或黑洞。 如果您看到一条评论告诉您将投诉发送到/ dev / null，则这是一种怪异的说法，即“将其扔进垃圾桶”。
/dev/random – Produces randomness using environmental noise. It’s a random number generator you can tap into. / dev / random –使用环境噪声产生随机性。 您可以利用它是一个随机数生成器。
/dev/zero – Produces zeros – a constant stream of zeros. / dev / zero –产生零–恒定的零流。
If you think of these three as files, you won’t see a use for them. Instead, think of them as tools.
如果您将这三个文件视为文件，则不会看到它们的用途。 而是将它们视为工具。
For example, by default, Linux commands produce error messages and other output that they print to the standard output, normally the terminal. If you want to run a command and don’t care about its output, you can redirect that output to /dev/null. Redirecting a command’s output to /dev/null immediately discards it. Instead of having every command implement its own “quiet mode,” you can use this method with any command.
例如，默认情况下，Linux命令会生成错误消息和其他输出，并将它们输出到标准输出(通常是终端)。 如果要运行命令而不关心其输出，可以将该输出重定向到/ dev / null。 将命令的输出重定向到/ dev / null立即将其丢弃。 您可以使每个命令都使用此方法，而不是让每个命令都实现自己的“安静模式”。
command > /dev/null 命令> / dev / null If you wanted a source of randomness – say, for generating an encryption key, you wouldn’t need to write your own random number generator – you could use /dev/random.
如果您想要一个随机性源(例如，生成一个加密密钥，则不需要编写自己的随机数生成器)，则可以使用/ dev / random。
To erase a hard drive’s contents by writing 0’s to it, you don’t need a special utility dedicated to zero’ing a drive – you could use standard utilities and /dev/zero. For example, the dd command reads from a location and writes to another location. The following command would read zeros from /dev/zero and write them directly to the first hard disk partition on your system, completely erasing its contents.
要通过向硬盘写入0来擦除硬盘的内容，您不需要专用于将驱动器归零的特殊实用程序–您可以使用标准实用程序和/ dev / zero。 例如， dd命令从一个位置读取并写入另一个位置。 以下命令将从/ dev / zero中读取零，并将它们直接写入系统中的第一个硬盘分区，从而完全擦除其内容。
(Warning: This command will erase all data on your first partition if you run it. Only run this command if you want to destroy data.)
( 警告 ：如果运行该命令，它将擦除第一个分区上的所有数据。如果要销毁数据，请仅运行此命令。)
dd if=/dev/zero of=/dev/sda1 dd if = / dev / zero of = / dev / sda1 Here we’re using dd with special files (/dev/zero and /dev/sda1), but we could also use dd to read from and write to actual files. The same command works both for manipulating devices directly and working with files.
在这里，我们将dd与特殊文件(/ dev / zero和/ dev / sda1)一起使用，但是我们也可以使用dd读取和写入实际文件。 相同的命令既可用于直接操作设备，也可用于处理文件。
澄清度 (Clarification)
In practice, it’s more accurate to say that “everything is a stream of bytes” than “everything is a file.” /dev/random isn’t a file, but it certainly is a stream of bytes. And, although these things technically aren’t files, they are accessible in the file system – the file system is a universal “name space” where everything is accessible. Want to access a random number generator or read directly from a device? You’ll find both in the file system; no other form of addressing needed.
实际上，说“一切都是字节流”比“一切都是文件”更为准确。 / dev / random不是文件，但肯定是字节流。 而且，尽管从技术上讲这些东西不是文件，但它们可以在文件系统中访问-文件系统是通用的“名称空间”，在这里可以访问所有内容。 想要访问随机数生成器还是直接从设备读取？ 您会在文件系统中找到它们。 不需要其他形式的寻址。
Of course, some things aren’t actually files – processes running on your system aren’t a part of the file system. “Everything is a file” is inaccurate, but lots of things do behave as files.
当然，有些东西实际上不是文件–系统上运行的进程不是文件系统的一部分。 “一切都是文件”是不准确的，但是很多事情的确表现为文件。
翻译自: https://www.howtogeek.com/117939/htg-explains-what-everything-is-a-file-means-on-linux/linux中一切都是文件
展开全文
• (后有翻译)Application season is just around the corner, which means it’s time to think strategically about applying early action, early decision, or regular decision.But first, what do these terms ...
• <p>I don't understand why someone is using the @ in the code, I have seen it with mysql connections but I don't know what it means.. thanks! <pre><code>$player_name_orig = @$_GET['player']; if (!$... • <p>I am getting this error on my WP site and do not know what it means or how to go about fixing it. Can anybody tell me what this means and how to fix this? <pre><code>[21-Jan-2016 11:21:18 UTC] ... • If I understand correctly it means <code>2^32</code>. Or am I mistaken? And if my opinion above is right, what does this code do? <pre><code>min := int(^uint(0) >> 1) </code></pre> </div> • <p>From what I found on the internet I realized that <code>''</code> means all the kids a div (whose div?) <p>I do not understand what parameters are used boolean <code>true true</code> ... in ... • Could someone please explain to me what it means: <pre><code><<'m'=~m>> print$a unless $b; return; m ; </code></pre> <p>It looks like HEREDOC syntax, but not in any form I've ever seen... • I don't even know what that means. How do I make it show the actual count and what does "new comment" mean? <p>I know this text is included but don't understand it: <pre><code>if (($oldCommentDate ...
• <p>I've found this operator |=</code> and I'm wondering what it means <pre><code>func getPageInfoMode(r *http.Request) (mode PageInfoMode) { for _, k := range strings.Split(r.FormValue("m"), ",") { ...
• I see <code>/index.php?admin/admin_dashboard</code> on the address bar but cannot find any file named <code>admin_dashboard</code>. Can anybody help about what it means? I am a novice programmer in ...
• <p>If you want to contribute, please add your "favorite" error message, warning or notice, one per answer, a short description what it means (even if it is only highlighting terms to their manual page...
• <p>I just saw this in a Symfony 4 application, and I can't find nowhere what it means <pre><code> public function findOneBySomeField($value): ?Article { return$this->createQueryBuilder('a') -&...
• i'm still new to some of this stuff and there is something that I dont quite understand so was hoping someone could shed some light on what the code is actually doing or what it means? <p>Here is ...
• <p>What does <code>...</code> mean in this context in Go? <pre><code>ids = append(ids[:index], ids... means in some situations, but I don't understand what it means in the situation above. </div>
• <p>The question is I retrieve id,username from cookie,and I compare the hash value retrieved from cookie with the two values I retrieved before,it means nothing.They will always be the same,is there ...
• But what does $$var means? what is it exactly? <p>This is the example. <pre><code> foreach(this->vars as key => value) {$$key = $value; echo "$$Key: " .$$key; echo "Key: " .$key; ...
• <li><code>moved to heap, this means move to heap, right? What's the difference with the above one? <li>The <code>y</code> variable is local, no one refer to it after function returns, but there still ...