skynet源码分析之sproto解析和构建

skynet提供一套与客户端通讯的协议sproto,设计简单,有利于lua使用,参考官方wiki https://github.com/cloudwu/skynet/wiki/Sproto。本篇介绍组装".sproto"文件以及sproto构建流程。之后,会另写一篇介绍sproto的使用方法。 1. 组装.sproto文件流程 以下面简单的test.sproto文件为例介绍.sproto文件组装流程: -- test.sproto .Person { name 0 : string
分类: 其他 发布时间: 05-04 21:17 阅读次数: 2

UPCOJ-5531 [COCI 2017-2018-2] - Usmjeri

usmjeri(2s256M) 给一棵N个节点的树,编号从1到N,再给定m对点(u,v),你要将树上的每条无向边变为有向边,使得给定的点对都满足u能到达v或v能到达u。问有多少种不同的方案,答案对109+7求余。 输入: 第一行两个正整数N and M(1 ≤ N, M≤ 3·10 5 ),表示树的结点个数,和点对的个数。 接下来N-1行,每行两个整数,表示树上的边。 接下来M行,每行两个不同的正整数(ai,bi),表示对应的点对,点对互不相同。 输出 一行一个数,表示不同的方案数模109+7
分类: 其他 发布时间: 05-04 21:17 阅读次数: 2

bzoj 1593: [Usaco2008 Feb]Hotel 旅馆【线段树】

参考:https://blog.csdn.net/u010336344/article/details/53034372 神一样的线段树 线段树上维护:ll从左开始最长空段;rr从右开始最长空段;len区间中最长空段;tg:-1不全是空的,0区间内全是空的,1区间内全是满的;lz下传标记:-1没标记,1下传满的,0下传空的 修改的时候,修改到一整个区间,就把lz和tg改了,ll、rr、len全改成r-l+1或者0 然后下传标记的时候同上 向上合并的时候,先把左右区间的ll、rr穿给当前区间,然
分类: 其他 发布时间: 05-04 21:17 阅读次数: 2

关于前端路由

用了许多前端框架来做spa应用,比如说backbone,angular,vue他们都有各自的路由系统,管理着前端的每一个页面切换,想要理解其中路由的实现,最好的方法就是手动实现一个。 前端路由有2种实现方式,一种是html5推出的historyapi,我们这里说的是另一种hash路由,就是常见的 # 号,这种方式兼容性更好。
分类: 其他 发布时间: 05-04 21:17 阅读次数: 2

namespace------------https://www.cnblogs.com/linhaifeng/p/6657119.html

PHP支持两种抽象的访问当前命名空间内部元素的方法,__NAMESPACE__ 魔术常量和namespace关键字。 常量__NAMESPACE__的值是包含当前命名空间名称的字符串。在全局的,不包括在任何命名空间中的代码,它包含一个空的字符串。 Example #1 __NAMESPACE__ 示例, 在命名空间中的代码 <?php namespace MyProject; echo '"', __NAMESPACE__, '"'; // 输出 "MyProject" ?> Example
分类: 其他 发布时间: 05-04 21:17 阅读次数: 2

数据库第八次实验

----------问题----------- 小明打算设计一个数据库来保存自己喜欢的电影信息。 他需要保存的电影信息有,电影名称,电影的类型(如:动作片、动画片、悬疑片、剧情片等),上映日期,电影的导演,参演的主要演员,电影评分。 同时,他还打算把相关的演员和导演的信息也保存下来,这样可以通过导演和演员来查询相关影片,还可以通过电影来查询演员或导演的个人信息。演员的信息有,姓名,性别,生日,星座,参演的影片等;导演的信息有:姓名,性别,生日,执导过的影片等。假设这些影片中,每一部电影由多名演
分类: 其他 发布时间: 05-04 21:16 阅读次数: 2

空指针问题和null

1、null是Java中的关键字,像public、static、final。它是大小写敏感的,你不能将null写成Null或NULL,编译器将不能识别它们然后报错。 2、就像每种原始类型都有默认值一样,如int默认值为0,boolean的默认值为false,null是任何引用类型的默认值,不严格的说是所有object类型的默认值。就像你创建了一个布尔类型的变量,它将false作为自己的默认值,Java中的任何引用变量都将null作为默认值。这对所有变量都是适用的,如成员变量、局部变量、实例变量
分类: 其他 发布时间: 05-04 21:16 阅读次数: 1

3.8 Language Support(audio)

3.8 Language Support(audio) The streams include content in multiple languages. Each set of content consists of two programs: a main audio program that contains speech in English, Chinese, or German, and an associated program that contains a tone or
分类: 其他 发布时间: 05-04 21:16 阅读次数: 2

lvs

LVS 服务器集群 lamp 概念: LVS:Linux Virtual Server Linux虚拟服务器。将整个服务器集群虚拟成一台服务器(Linux虚拟服务器) VIP:是lvs这台机器上,面向公网的IP地址。用于接受客户端的请求。LVS接收到客户端的请求后,通过调度算法来决定将请求分发给后端的哪一台rs。比如,要分发给rs1,NAT模型,怎样将这个请求交给rs1,LVS通过DNAT(将请求报文中的目的ip由VIP转换成RIP),在通过DIP将请求报文交给rs。封装响应报文(src RI
分类: 其他 发布时间: 05-04 21:16 阅读次数: 2

Find a way (BFS)

Find a way HDU - 2612 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<queue> 6 using namespace std; 7 8 char map[201][201]; 9 int book1[205][205],book2[205][205]; 10 int step1[205][205
分类: 其他 发布时间: 05-04 21:16 阅读次数: 2

【03】const

【03】const 魔芋总结: 1,声明的是常量,一经声明,不得修改。必须声明的同时并赋值。否则报错。 2,只在声明所在的块级作用域内有效。 3,const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。 4,也与let一样不可重复声明。 5,对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。(指针的概念。) const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,所以将一个对象声明为常量必须非常小心。 6,ES5只有两种声明变量的方法:var
分类: 其他 发布时间: 05-04 21:16 阅读次数: 2

nyoj 163 Phone List(动态字典树<trie>) poj Phone List (静态字典树<trie>)

Phone List 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let's say the phone catalogue listed these numbers: Emergency 911 Alice 97 625 999 Bob
分类: 其他 发布时间: 05-04 21:16 阅读次数: 2

python正则二

在python中,我们可以使用re模块来使用正则表达式。 正则表达式使用\对特殊字符进行转义,因为python本身也是用\作为转义,所以在使用正则的时候会出现这样的情况,'python\\.org',有两个斜杠,为了避免出现这种情况,我们可以使用如下方法: r'python\.org' re模块一些常用的方法。 findall 以列表形式返回所有匹配的字符串,如果没有匹配的就返回一个空列表。 还可以指定字符串的开始位置和结束位置。 import re string = "abcd2135asd
分类: 其他 发布时间: 05-04 21:16 阅读次数: 2

在 CentOs 中安装 Python3 和 pip2

今天在虚拟机中安装了CentOs7,安装完成后发现其自带的Python环境只有Python2.7,还需自己安装Python3,这点就不像Ubuntu那么友好了,希望将来会自带Python3吧。pip2安装在最后首先去官网下载Python3的源码包呗。手动略过。。。下载后先解压:注以下所有命令均在root环境下,因为某些权限问题tar-xzvfPython-3.6.5.tgzxzvf自行输入tar-
分类: 其他 发布时间: 05-04 21:13 阅读次数: 2

总结:设计模式之Iterator模式

Iterator模式参与角色: ------Iterator(迭代器):负责定义按顺序逐个遍历元素的接口。 ------ConcreteIterator(具体的迭代器):负责实现Iterator接口。 ------Aggregate(集合):负责定义创建Iterator角色的接口。 ------ConcreteAggregate(具体的集合):负责实现Aggregate接口。 ------Object(集合元素):模拟集合元素 模式实现案例: ---Iterator: ---ConcreteI
分类: 服务端 发布时间: 05-04 21:13 阅读次数: 4

BugkuCTF 矛盾

前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~ 点开链接,同样是道代码审计的题目,我们可以来一起看看 $num=$_GET['num']; if(!is_numeric($num)) { echo $num; if($num==1) echo 'flag{**********}'; } 我们看的传入了一个参数num,
分类: 其他 发布时间: 05-04 21:06 阅读次数: 2

django(模板语言)

模板语言是写在html中的 cur_time.html <body> <h1>当前时间:{{ currenttime }}</h1> //{{}}中是变量 </body> </html> views.py def cur_time(req): curtime=datetime.datetime.now() return render(req,"cur_time.html",{"currenttime":curtime}) #将前端中的curren
分类: 其他 发布时间: 05-04 21:06 阅读次数: 2

《Pro Asp.net core mvc 2》bower问题

在阅读《Pro Asp.net core mvc 2》中有使用bower管理包,可能是由于vs2017或者bootstrap什么地方改变了,按照步骤进行操作,完全没有对应的样式出现。开始以为是浏览器不一致,换了浏览器还是一样的问题。才觉得可能是包的问题,原谅作为新手什么都不懂。再网上找了一下,发下还真是,bower新生成了一个bower_contents来存放对应的文件,并不在wwwroot下了。我就将文件再次移动到wwwroot,重新编译就可以了。 纪录一下,或许有其他人新手也会碰到这个问题。
分类: 其他 发布时间: 05-04 21:06 阅读次数: 2

codeforces959C

题意:输入n(代表有n个节点),找出满足题意给出的找出最小节点数(对于给出的所有边,在这个最小节点数集合里总可以找到一个点在此边上)。 给出算法: 1:根节点节点数为1; 2:计算所有深度为偶数的节点总数为evencnt; 3:计算所有深度为奇数的节点总数为oddcnt; 4:最小节点数=min(evencnt,oddcnt); 根据题目给出的提示我们可以推出算法成立的模板和不成立的模板,具体请看代码 代码: #include<stdio.h> //找出只要两个节点的情况,然后在这基础上加上和
分类: 其他 发布时间: 05-04 21:06 阅读次数: 3

如何实时查看mysql当前连接数

1、查看当前所有连接的详细资料: ./mysqladmin -uadmin -p -h10.140.1.1 processlist 2、只查看当前连接数(Threads就是连接数.): ./mysqladmin -uadmin -p -h10.140.1.1 status 、查看当前所有连接的详细资料: mysqladmin -uroot -proot processlist D:\MySQL\bin>mysqladmin -uroot -proot processlist +-----+--
分类: 其他 发布时间: 05-04 21:06 阅读次数: 2