namespace

using命名空间

杀马特。学长 韩版系。学妹 提交于 2020-01-18 08:42:05
命名空间 转自:https://blog.csdn.net/touzani/article/details/1637776 仅为方便查看,侵删: 在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用域。 MFC中并没有使用命名空间,但是在.NET框架、MC++和C++/CLI中,都大量使用了命名空间。 1 )作用域与命名空间 相关概念 与命名空间相关的概念有: 声明域(declaration region)—— 声明标识符的区域。如在函数外面声明的全局变量,它的声明域为声明所在的文件。在函数内声明的局部变量,它的声明域为声明所在的代码块(例如整个函数体或整个复合语句)。 潜在作用域(potential scope)—— 从声明点开始,到声明域的末尾的区域。因为C++采用的是先声明后使用的原则,所以在声明点之前的声明域中,标识符是不能用的。即,标识符的潜在作用域,一般会小于其声明域。 作用域(scope)—— 标识符对程序可见的范围。标识符在其潜在作用域内,并非在任何地方都是可见的。例如,局部变量可以屏蔽全局变量、嵌套层次中的内层变量可以屏蔽外层变量

SSH出错之-- No result defined for action

微笑、不失礼 提交于 2020-01-17 16:46:15
No result defined for action ---- 一、错误原因 这个错误可能是由很多原因引起的 1)可能是输入的变量为空值 输入的变量为空值,action会转到input里去,input又没有。错误。 2)配置文件写错了 二、输入的变量为空值 三、配置文件写错 我看了半天,我的action里面明明就有result的定义,但是无论我怎么改,运行到execute中return的时候,它死活找不到页面。 错误的:(按理说省略namespace不应该是错的,但是事实如此,我也无法啊。) <package name="money" extends="struts-default"> <action name="transfer" class="com.meetcomet.action.transferAction"> <result name="input">/index.jsp</result> <result name="success">/welcome.jsp</result> <result name="error">/fail.jsp</result> </action> </package> 正确的: 就是命名空间的问题。 <package name="money" namespace="/" extends="struts-default"> <action

gcc 8.2.0中新建一个pass

怎甘沉沦 提交于 2020-01-16 05:45:20
在gcc 8.2.0中新建一个pass 参考的是 GCC Resource Center ,里面有对gcc的讲解slice。 在/gcc8.2.0/gcc目录下添加一个文件test.c,然后创建一个主函数,这里主函数我暂时没加,只建了一个空pass。 在test.c中创建一个pass的数据结构: 这里有个问题是,gcc 8.2.0里已经不是结构体存储pass信息了,变成了类。比如tree-pass.h中找到make_pass_build_cfg: extern gimple_opt_pass *make_pass_build_cfg (gcc::context *ctxt); 点进去后进入tree-cfg.c,这应该就是build_cfg的pass了: gimple_opt_pass * make_pass_build_cfg (gcc::context *ctxt) { return new pass_build_cfg (ctxt); } 找到类pass_build_pass: namespace { const pass_data pass_data_build_cfg = { GIMPLE_PASS, /* type */ "cfg", /* name */ OPTGROUP_NONE, /* optinfo_flags */ TV_TREE_CFG, /* tv_id *

PhalApi 如何请求接口服务

旧时模样 提交于 2020-01-14 20:46:07
如何请求接口服务 HTTP协议下的请求方式 对于PhalApi,默认是通过HTTP协议进行通信的。根据接口服务的具体实现,可以使用GET或POST方式请求。 访问入口 如前面所言,PhalApi推荐将系统对外可访问的根目录设置为/path/to/phalapi/public。PhalApi的统一访问入口文件是/path/to/phalapi/public/index.php文件。 当配置的域名为:dev.phalapi.net,并且已将根目录设置到public,此时访问的URL是: http://dev.phalapi.net 当未配置域名,亦未配置根目录时,此时访问的URL是(显然更长更不优雅): http://localhost/phalapi/public/index.php 如果尚未安装,请先阅读下载与安装。 如何指定待请求的接口服务? 默认情况下,可以通过s参数指定待请求的接口服务,当s未传时,缺省使用默认接口服务,即:App.Site.Index。以下三种方式是等效的,都是请求默认接口服务。 未传s参数 ?s=Site.Index,省略命名空间,默认使用App ?s=App.Site.Index,带有命名空间前缀 也就是说,当请求除默认接口服务以外的接口服务时,其格式可以二选一: ?s=Class.Action 或者:?s=Namespace.Class.Action

Zend Framework2如何建立新的模块

落爺英雄遲暮 提交于 2020-01-14 15:00:04
1)在module文件夹下建立一个新的模块文件夹User 2)在新建的User文件夹下建立3个文件夹,名字分别为config、src、view 3)建立一个Module.php文件,此文件用来加载当前模块。Module.php代码如下 1 <?php 2 namespace User;//命名空间设置为和模块名相同 3 4 class Module 5 { 6 public function getConfig() 7 { 8 return include __DIR__ . '/config/module.config.php'; 9 } 10 11 public function getAutoloaderConfig() 12 { 13 return array( 14 'Zend\Loader\StandardAutoloader' => array( 15 'namespaces' => array( 16 __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 17 ), 18 ), 19 ); 20 } 21 22 } 4)config文件夹下建立module.config.php模块配置文件,基本代码如下 1 <?php 2 return array( 3 'controllers' => array( 4

Kubernetes-运维指南

◇◆丶佛笑我妖孽 提交于 2020-01-14 04:54:29
Node隔离与恢复 cat unschedule_node.yaml apiVersion: kind: Node metadata: name: k8s-node-1 labels: kubernetes.io/hostname: k8s-node-1 sepc: unschedulable: true kubectl replace -f unschedule_node.yaml kubectl patch node k8s-node-a -p '{"spec":{"unschedulable":"true"}' kubectl cordon k8s-node-1(对节点进行隔离) kubectl uncordon k8s-node-1(对节点进行恢复) Node的扩容 在新节点上安装Docker、kubelet、kube-proxy服务,并修改kubelet和kube-proxy的启动参数将Master URL指定为当前集群的Master的地址,最后启动这些服务。 更新资源对象的Label kubectl lable pod redis-master-bobr role=backend kubectl get pods -Lrole kubectl label pod redis-master-bobr0 role- kubectl label pod redis

我们为什么会删除不了集群的 Namespace?

橙三吉。 提交于 2020-01-13 22:23:47
作者 | 声东 阿里云售后技术专家 导读 :阿里云售后技术团队的同学,每天都在处理各式各样千奇百怪的线上问题。常见的有网络连接失败、服务器宕机、性能不达标及请求响应慢等。但如果要评选的话,什么问题看起来微不足道事实上却让人绞尽脑汁,我相信肯定是“删不掉”的问题,比如文件删不掉、进程结束不掉、驱动卸载不了等。这样的问题就像冰山,隐藏在它们背后的复杂逻辑,往往超过我们的预想。 背景 今天我们讨论的这个问题,跟 K8s 集群的 Namespace 有关。Namespace 是 K8s 集群资源的“收纳”机制。我们可以把相关的资源“收纳”到同一个 Namespace 里,以避免不相关资源之间不必要的影响。 Namespace 本身也是一种资源。通过集群 API Server 入口,我们可以新建 Namespace,而对于不再使用的 Namespace,我们需要清理掉。Namespace 的 Controller 会通过 API Server,监视集群中 Namespace 的变化,然后根据变化来执行预先定义的动作。 有时候,我们会遇到下图中的问题,即 Namespace 的状态被标记成了 "Terminating",但却没有办法被完全删除。 从集群入口开始 因为删除操作是通过集群 API Server 来执行的,所以我们要分析 API Server 的行为。跟大多数集群组件类似,API

大数据-Hbase

巧了我就是萌 提交于 2020-01-13 21:42:33
HBase 1.概念 HBase 是一个基于Hadoop的 分布式 可扩展 巨大数据 仓库 当用户需要对海量数据进行 实时 (时效性) 随机 (记录级别数据)读/写 用户可以使用Hbase Hbase设计目标是能够持有一张巨大的表 该表的规模能达到 数十亿行 * 数百亿列 并且可以运行在商用的硬件集群之上 Hbase是一个 开源的 分布式 版本化 的非关系化的数据库-NOSQL 该设计仿照了Google的BigTable设计 2.列存储 将IO特性相似的列归为一个簇 HBase底层在检索的时候以列簇为最小文件加载单位 Hbase中所有的记录都是按照一定顺序排列的 ROWKEY -- > 列簇 -- > 列名字 -- > 时间戳 默认查询返回时间戳最新版本记录 列存储的优缺点 优点: 支持稀疏存储 null值不存 磁盘IO利用率100% 缺点: 值包含ROWKEY/列信息/时间戳 定义 ROWKEY:等价关系型数据库的主键id 列簇:将IO操作特性相似的列归为一个簇 Hbase底层会以列簇为单位索引数据 列:列簇/列名/列值/时间戳构成 时间戳:用于记录Hbase中数据的版本 一般系统会自动指定为插入数据时间 3.Shell命令-掌握 Namespace-数据库 修改namespace:alter_namespace 创建namespace:create_namespace

linux中操作k8s的基本命令-更新中

女生的网名这么多〃 提交于 2020-01-13 10:36:12
linux中操作k8s的基本命令 最近工作中使用到了k8s,那么就来总结下平时使用到的基本的命令 获取某个namespace下的pod 获取某个namespace下的pod,展示出ip和pod信息 查看节点控制台的日志 获取某个namespace下的pod kubectl get pods -n namespace # kubectl get pods -n handle NAME READY STATUS RESTARTS AGE access-7754f795dd-f267n 1/1 Running 0 2d12h account-78fc5f5bf4-xb96c 1/1 Running 0 2d12h admin-bd8d5f6bb-fkc4l 1/1 Running 0 2d12h cores-77c5f6f696-k26hf 1/1 Running 0 2d12h file-7b94fb9fb7-m6x4v 1/1 Running 0 2d12h handle-55989bc69b-b2rp7 1/1 Running 0 2d12h handleapp-fddcf85b8-dn7t2 1/1 Running 0 25d index-5b87c9fd5b-q6htq 1/1 Running 0 2d12h log-statistics-8697f4987b-ptqn6 1

k8s中pod的资源对象(名称空间,获取策略,重启策略,健康检查)

自作多情 提交于 2020-01-12 22:16:19
一,k8s的资源对象 Deployment、Service、Pod是k8s最核心的3个资源对象 Deployment: 最常见的无状态应用的控制器,支持应用的扩缩容、滚动升级等操作。 Service: 为弹性变动且存在生命周期的Pod对象提供了一个固定的访问接口,用于服务发现和服务访问。 Pod: 是运行容器以及调度的最小单位。同一个pod可以同时运行多个容器,这些容器共享net、UTS、IPC,除此之外还有USER、PID、MOUNT。 ReplicationController: 用于确保每个Pod副本在任意时刻都能满足目标数量,简单来说,它用于每个容器或容器组总是运行并且可以访问的:老一代无状态的Pod应用控制器。 RwplicatSet: 新一代的无状态的Pod应用控制器,它与RC的不同之处在于支持的标签选择器不同,RC只支持等值选择器(键值对),RS还额外支持基于集合的选择器。 StatefulSet: 用于管理有状态的持久化应用,如database服务程序,它与Deployment不同之处在于,它会为每一个pod创建一个独有的持久性标识符,并确保每个pod之间的顺序性。 DaemonSet: 用于确保每一个节点都运行了某个pod的一个副本,新增的节点一样会被添加到此类pod,在节点移除时,此pod会被回收。 Job: 用于管理运行完成后即可终止的应用