sprintf

聊聊kingbus的membership_handler.go

我的未来我决定 提交于 2020-08-05 02:26:00
序 本文主要研究一下kingbus的membership_handler.go GetMembers kingbus/api/membership_handler.go //GetMembers implements get information of membership, not include lead information func (h *MembershipHandler) GetMembers(echoCtx echo.Context) error { members := h.cluster.Members() return echoCtx.JSON(http.StatusOK, utils.NewResp().SetData(members)) } GetMembers方法主要是通过h.cluster.Members()获取members,然后json化 AddMember kingbus/api/membership_handler.go //AddMember implements add a member into raft cluster func (h *MembershipHandler) AddMember(echoCtx echo.Context) error { args := struct { NodeName string `json:

matlab字符串连接

故事扮演 提交于 2020-07-29 09:08:41
str1=’I love you’;str2=’123’; 方法一:用中括号将str1和str2像矩阵元素一样包含起来: SC=[str1,str2] 方法二:用strcat函数 strcat(str,str1) 方法三:利用sprintf函数 number=123; STR=sprintf(‘%s%d’,str1,number) 来源: oschina 链接: https://my.oschina.net/u/4366017/blog/4278133

php 使用array_walk生成新的数组

对着背影说爱祢 提交于 2020-07-29 07:14:12
array_walk( array , myfunction , userdata ...) array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。 典型情况下 myfunction 接受两个参数。 array 参数的值作为第一个,键名作为第二个。 如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。 $a = ['a' => 'red', 'b' => 'green', 'c' => 'blue']; $data = []; $myfunction = function ($value, $key) use (&$data) { $data[] = sprintf('"The key %s has the value %s', $key, $value); }; array_walk($a, $myfunction); var_dump($data); 执行结果,$data 输出如下: $ php -f depakin.php array(3) { [0]=> string(27) "The key a has the value red" [1]=> string(29) "The key b has the value green" [2]=> string(28) "The key c has

NX二次开发-UFUN求对象的最大边界框UF_MODL_ask_bounding_box

痴心易碎 提交于 2020-07-29 06:10:42
1 NX9+ VS2012 2 3 #include <uf.h> 4 #include <uf_obj.h> 5 #include <uf_modl.h> 6 #include <uf_part.h> 7 8 UF_initialize(); 9 10 // 遍历当前显示部件所有体 11 std::vector<tag_t> SolidVector; 12 tag_t ObjectTag = NULL_TAG; 13 int Type, SubType, Body_Type; 14 int Count = 0 ; 15 char msg[ 256 ]; 16 UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_solid_type, & ObjectTag); 17 while (ObjectTag != NULL_TAG) 18 { 19 UF_OBJ_ask_type_and_subtype(ObjectTag, &Type, & SubType); 20 if (SubType == UF_solid_body_subtype) 21 { 22 UF_MODL_ask_body_type(ObjectTag, & Body_Type); 23 if (Body_Type == UF_MODL_SOLID_BODY

我防CC***的做法

假如想象 提交于 2020-07-28 19:47:14
[前言]最近朋友的网站受到CC***,就向我咨询,因为我对防cc***也不是很了解,所以我也不敢一下子给他什么好的答案。今天,我就写了下面的资料,看能不能给他,和大家一个好的方案,如果大家有对防CC***更好的主意,请留言与我,我们一起学习,谢谢! <?php if (isset($_SERVER)){ $realip = $_SERVER[HTTP_X_FORWARDED_FOR]; } else { $realip = getenv("HTTP_X_FORWARDED_FOR"); } if($realip<>""){ $remoteip=$_SERVER['REMOTE_ADDR']; log_ip($remoteip,$realip); } function log_ip($remote_ip,$real_ip) { $temp_time = date("y-m-d G:i:s"); $temp_result = $temp_time."\t".$real_ip."\t".$remote_ip."\n"; if(!$fhandle=fopen("cc_log.txt","a+")){ print "error"; exit; } fwrite($fhandle,$temp_result); fclose($fhandle); } ?> 此段代码作用:

聊聊nacos-sdk-go的NacosServer

岁酱吖の 提交于 2020-07-28 10:37:32
序 本文主要研究一下nacos-sdk-go的NacosServer NacosServer nacos-sdk-go-v0.3.2/common/nacos_server/nacos_server.go type NacosServer struct { sync.RWMutex securityLogin security.AuthClient serverList []constant.ServerConfig httpAgent http_agent.IHttpAgent timeoutMs uint64 endpoint string lastSrvRefTime int64 vipSrvRefInterMills int64 } NacosServer定义了securityLogin、serverList、httpAgent、timeoutMs、endpoint、lastSrvRefTime、vipSrvRefInterMills属性 NewNacosServer nacos-sdk-go-v0.3.2/common/nacos_server/nacos_server.go func NewNacosServer(serverList []constant.ServerConfig, clientCfg constant.ClientConfig, httpAgent

beego 的正则路由

跟風遠走 提交于 2020-07-28 04:23:18
* beego的restful路由 https://blog.csdn.net/fareast_mzh/article/details/86667517 * main.go // beego-route project main.go package main import ( "fmt" "github.com/astaxie/beego" ) type RegExpController struct { beego.Controller } /** * http://127.0.0.1:8081/RegExp/123 */ func (this *RegExpController) Get() { this.Ctx.WriteString(fmt.Sprintf("<p>In RegExp Mode</p>")) id := this.Ctx.Input.Param(":id") this.Ctx.WriteString(fmt.Sprintf("id is %s.<br />", id)) splat := this.Ctx.Input.Param(":splat") this.Ctx.WriteString(fmt.Sprintf("splat is %s.<br />", splat)) path := this.Ctx.Input.Param(":path") this

GLUT Tutorials 16:游戏模式

大憨熊 提交于 2020-07-27 11:23:01
博客转自: http://www.lighthouse3d.com/tutorials/glut-tutorial/game-mode/ GLUT的游戏模式是使能高性能全屏渲染。然而,总是会有些GLUT函数拖累高性能的需求,例如菜单弹窗,子窗口等。在这个小节,将引入GLUT的游戏模式。我的这个教程的资料。我没有找到官方的文档,或者其他的教程有讲解到这一部分的。所以我也不确定这个教程是100%正确的。我的GLUT游戏模式的经验来自以前自己创建的正常工作的例程,但是由于只在有限的硬件配置测试过,所有可能会有一些部分不精确或不对的陈述。如果你使用教程里的概念设计中遇到了问题,请给我问题的描述,方便我分析调查原因。如果你已经熟悉了GLUT的游戏模式,并再次发现了对游戏模式理解错误的地方,如果将问题反馈给我,我将非常感激,也可以帮助我解决那些问题。 现在我已经完成的我的声明,我们接下来可以开始这部分的教程。首先是声明游戏模式,例如,全屏。这些设置可能包括屏幕分辨率,像素深度和刷新率。总而言之,我们可以设置我们想要的任意的分辨率(硬件允许的范围内)。 These settings for full screen mode are specified on a string. The format is as follows “WxH:Bpp@Rr” Parameters: W – the

PHP使用Redis实现Session共享

£可爱£侵袭症+ 提交于 2020-07-27 05:26:05
前言 小型web服务, session数据基本是保存在本地(更多是本地磁盘文件), 但是当部署多台服务, 且需要共享session, 确保每个服务都能共享到同一份session数据. redis 数据存储在内存中, 性能好, 配合持久化可确保数据完整。 设计方案 1.通过php自身session配置实现 # 使用 redis 作为存储方案 session.save_handler = redis session.save_path = "tcp://127.0.0.1:6379" # 若设置了连接密码, 则使用如下 session.save_path = "tcp://127.0.0.1:6379?auth=密码" 测试代码 <?php ini_set("session.save_handler", "redis"); ini_set("session.save_path", "tcp://127.0.0.1:6379"); session_start(); echo "<pre>"; $_SESSION['usertest'.rand(1,5)]=1; var_dump($_SESSION); echo "</pre>"; 输出 ↓ 评价 优点: 实现简单, 无需修改php代码 缺点: 配置不支持多样化, 只能应用于简单场景 2. 设置用户自定义会话存储函数 通过 session

php ZeroMQ 的使用

匆匆过客 提交于 2020-07-26 09:51:16
一、ZeroMQ简介 ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 Socket Library,他使得 Socket 编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ 的明确目标是“成为标准网络协议栈的一部分,之后进入 Linux 内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD 套接字之上的一层封装。ZMQ 让编写高性能网络应用程序极为简单和有趣。 与 RabbitMQ 相比,ZMQ 并不像是一个传统意义上的消息队列服务器,事实上,它也根本不是一个服务器,它更像是一个底层的网络通讯库,在 Socket API 之上做了一层封装,将网络通讯、进程通讯和线程通讯抽象为统一的 API 接口。 它是个类似于Socket的一系列接口,它跟Socket的区别是:普通的Socket是端到端的(1:1的关系),而ZMQ却是可以(N:M 的关系),人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。 二、ZMQ三种基本模型 1、Request-Reply 2、Publisher