精华内容
下载资源
问答
  • 只有工时类资源才会出现过度分配,因为工时类资源通常指组织内部人力资源或者机械设备等,这些...软件开发中项目外包,外包公司属于成本类资源,外包公司项目组成员不列入工时类资源,原因:项目外包甲方不直接

    只有工时类资源才会出现过度分配,因为工时类资源通常指组织内部的人力资源或者机械设备等,这些资源通常都有数量上的瓶颈,也只有工时类资源才会在【资源工作表】中设置它的最大单位和资源可用性,这就限制了它在不同时间段内的可用数量。所以当某一天分配的工作量大于可用数量时,冲突(过度分配)就出现了。材料类资源和成本类资源通常是从外部获取的资源,在【资源工作表】中不能设置最大单位,因此它们永远不会出现过度分配。

    软件开发中的项目外包,外包公司属于成本类资源,外包公司的项目组成员不列入工时类资源,原因:项目外包甲方不直接管理外包公司的开发工程师,如果出现进度风险,外包公司负责解决

     

    使用的图表是:资源使用状况

    如果出现资源冲突或过度分配,则project会用红色标识

    右侧可以调整显示的内容,默认只显示工时,双击“详细信息”,或者右键“详细样式”

    调整显示列

     

    字段解释 

    工时:Java工程师这天分配了的工时

    成本:Java工程师这天产生的成本

    工时可用性:Java工程师可用的时间,Java资源可能被多个项目占用,在当前项目可能一天8小时只能投入4小时,即可用性是50%,如果一天8小时,则只有4小时

    单位可用性:Java工程师这天的可用比例,Java资源可能被多个项目占用,这天可以投入70%的时间在当前项目,70%就是单位可用性

    资源过度分配:工时 - 工时可用性

    显示颜色修改

    详细样式,选中要修改的列,设置单位格背景

     

     

     

    展开全文
  • Good权限管理系统是作者学习springBoot时基于springBoot开发一套轻量级权限系统,其目的是形成一套属于自己通用开发框架 以后来项目时候就可以直接基于此平台进行开发,减少重复工作量. 目前还有好多功能...
  • Html5网络游戏和网页游戏,是属于打开浏览器就可以直接,而且是边玩边下载游戏。 由于每个版本更新,只是更新一小部分资源,如果每次进行版本更新都导致用户重新加载全部游戏资源,那么会导致用户消耗流量...

    Html5网络游戏和网页游戏,是属于打开浏览器就可以直接玩的,而且是边玩边下载的游戏。
    由于每个版本更新,只是更新一小部分资源,如果每次进行版本更新都导致用户重新加载全部游戏资源,那么会导致用户消耗的流量以及不能快速进入游戏,严重影响体验。所以需要对网络资源加载这一块做深入的分析研究,拿出一个资源管理方案。

    一般浏览器都会有缓存url对应的中资源,只有当url改变的时候才会进行重新加载,根据这个特性,我们可以详细制定一套资源管理方案。

    本文相关信息

    1. 完整的资源管理方案和分析
    2. JavaScript/TypeScript/Egret语言
    3. EgretWing开发工具
    4. 提供完整的Egret资源管理例子,点击下载

    一、几种资源版本控制方式

    1.随机方式

    每次加载资源的时候,后面加个随机参数,确保每次都是获取到最新的服务器资源,这种简单而粗暴,但是一般是在内网调试以及个别配置文件才使用这种方式。例如加载资源版本配置文件本身的时候:

    RES.getResByUrl("resource/version.txt?v=" + Math.random(),this.onVersionTxt,this);

    2.总版本号控制

    每次都获取最新资源,真是太浪费了,所以根据特性,出个根据版本号,也就是说每次发版本的时候,定制了一个版本,比如采用日期:20170731,统一配置在config.json配置文件。

    config.json
    {
        "debug": true,
        "showLog": -1,
        "version": "20170731"
    }

    在游戏中实际使用代码

    url = url + "?v=10" + config.version; //输出结果:url = url + "?v=20170710";
    RES.getResByUrl(url, this.onSeverList, this);

    这种方式可以通过修改配置文件来控制文件版本号.也可以增加多个版本号来控制不同的资源,这样控制版本号的粒度会更细,更加优化网络加载。

    "uiVersion": "20170710",
    "roleVersion": "20170713"

    虽然按照模块分了,但是事实上,每次游戏发布之后,并不会更新所有的美术资源或者某个模块资源其实只更新了几个文件,所以这样也是会造成网络流量的浪费。

    3.每个文件定制版本号

    为了得到更好的网络性能,只有把粒度做得更细才行,所以会有一种为每个网络文件定制一个版本号的机制了。一般可以采用文件生成日期时间或者采用svn的版本号,这个可以根据自己项目的具体情况,各有优劣。

    二、版本号获取生成方式

    1. 采用文件生成日期时间
    2. svn的版本号

    三、版本号保存规则

    通过制定不同的版本保本规则,可以使得记录版本号的文件尽量小,同时使用也比较方便。

    1.直接记录每个文件

    这种其实也是简单粗暴,直接为每个文件生成对应的时间或者svn版本号,最终生成一个大文件。这个做法就是文件稍微有点大,因为要记录每个文件,后面会有优化技巧介绍。

    // url路径 + 时间日期版本号
    resource/default.res.json,2017813;
    resource/assets/bg.jpg,2017814;
    resource/assets/egret_icon.png,2017815;
    resource/config/description.json,20170816

    在游戏中,则把url和日期进行对应存起来就可以了,通过url找到对应的版本号,然后组合成新的url。这样可以随时控制每个资源的版本号了。

    url = resource/default.res.json?v=2017813;
    url = resource/assets/bg.jpg?v=2017814;

    2.根据资源类型(或者文件夹名字)保存

    游戏中的资源会分成不同的类型,放在不同的文件夹,那么可以根据这个特点来保存.

    //模块名字 + 版本号
    mornui,2017813;
    config,2017814;
    scenes,2017815;

    这里写图片描述

    3.自定义二进制格式

    采用自定义二进制,可以做得更加细化了。比如可以把同个模块下的路径只记录一次,然后根据顺序和规则来只记录模块下面的单个文件。大概的结构顺序可以是这样:

    //模块
    mornui
    //模块里的一个小包
    bag
    //小包的详细文件
    bag.json
    bag.png
    =============
    bless
    bless.json
    bless.png

    甚至还可以把相同的名字给保存起来等等,可以自由根据自己想要的来进行组合。

    4.优化版本号文件体积技巧

    可以记录最多文件的版本号,只要是这个版本号的都不记录,游戏中url没有对应版本号,都自动使用这个默认版本号。比如之前介绍的第一种文件记录方式可以这样修改:

    // url路径 + 时间日期版本号
    2017815;
    resource/assets/egret_icon.png,2017815;
    resource/config/description.json,20170816

    其中

    resource/default.res.json和resource/assets/bg.jpg

    没有了,那么在游戏中使用的时候,当在版本控制容器找不到对应的版本号的时候,就直接那2017815作为版本号,实际url变成这样

    url = resource/default.res.json?v=2017815;
    url = resource/assets/bg.jpg?v=2017815;

    如果资源数量庞大的话,会打打减小版本配置文件的大小(比如上1w条资源的时候)。

    四、Egret的资源版本使用例子解析

    我们来通过一个完整可运行的Egret例子来解析从加载版本配置文件到游戏中实际处理的过程。
    这里写图片描述

    1.用Egret创建game的项目(带有相关的资源)

    2.加载版本文件

    版本控制文件的名字为version.txt的文本,游戏中加载

    RES.getResByUrl("resource/version.txt?v=" + 
    Math.random(),this.onVersionTxt,this,RES.ResourceItem.TYPE_TEXT);

    onVersionTxt中解析并且存放

    private onVersionTxt(version:string):void
    {
        //解析版本数据,然后放到egret自带的版本控制类里面
        console.log("version string:" + version);
        var urlObj:Object = {};
        //切割出每一条资源
        var arys:string[] = version.split(";");
        var len:number = arys.length;
        //第一个是默认版本好2,不用处理
        for(var i:number = 1; i < len; i++)
        {
            //分析出url和版本号
            var temp:string[] = arys[i].split(",");
            urlObj[temp[0]] = temp[1];
        }
        RES.registerVersionController(new EgretVersion(arys[0],urlObj));
        //初始化Resource资源加载库
        //initiate Resource loading library
        RES.addEventListener(RES.ResourceEvent.CONFIG_COMPLETE, this.onConfigComplete, this);
        RES.loadConfig("resource/default.res.json", "resource/");
    }

    EgretVersion.ts是用来控制url的版本控制文件的,egret提供了基类。

    class EgretVersion extends RES.VersionController
    {
        /** key是url,value是版本号 **/
        private urlObj:Object;
        /** 默认版本号 */
        private defaultVersion:string;
    
        constructor(defaultVersion:string,urlObj:Object)
        {
            super();
            this.defaultVersion = defaultVersion;
            this.urlObj = urlObj;
        }
        getVirtualUrl(url:string):string
        {
            //把程序里使用到的url增加相应的版本号
            var version:string = this.urlObj[url];
            if(version)
            {
                url = url + "?v=" + version;
            }
            else
            {
                //使用默认版本号
                url = url + "?v=" + this.defaultVersion;
            }
            console.log("带有版本号的url:" + url);
            return url;
        }
    }

    其他的代码都是Egret自动生成了,例子就是这么简单,主要是解析和组合类。
    最终编译运行结果:
    这里写图片描述
    输出日志

    带有版本号的url:resource/default.res.json?v=2017813
    带有版本号的url:resource/assets/bg.jpg?v=2017814
    带有版本号的url:resource/assets/egret_icon.png?v=2017815
    带有版本号的url:resource/config/description.json?v=20170816

    五、实际项目使用的配置和大小

    实际项目中有1w条左右各资源,所以光记录文本文件(采用了默认版本号了)就有几十k(assets.bin),zip压缩之后有4.3k(assets.cfg)。
    这里写图片描述
    当然,这个还是会进一步游戏的,最终准备采用自定义二进制文件来保存,争取到达性能最优化。

    展开全文
  • 本系统可以用来学习做网站,也可以直接修改或者替换里面模块资源换成自己内容,从而生成自己网站;自己编写,是一个很不错的资源哦。需要尽快拿去吧
  • 托管资源与非托管资源的区别 资源分为托管资源和非托管资源。 托管资源是指由CLR管理分配和释放的资源,也就是我们直接new出来的对象; 非托管资源是指不受CLR控制的资源,也就是不属于.net本身的功能,往往通过...

    托管资源与非托管资源的区别

    资源分为托管资源和非托管资源。

    • 托管资源是指由CLR管理分配和释放的资源,也就是我们直接new出来的对象;
    • 非托管资源是指不受CLR控制的资源,也就是不属于.net本身的功能,往往通过调用跨平台程序集(如C++)或者操作系统提供的一些接口,比如Windows内核对象、文件操作、数据库连接、socket、win32API、网络等。

    标准的显式释放资源

    public class MyClass : IDisposable
    {
        /// <summary>
        /// 模拟一个非托管资源
        /// </summary>
        private IntPtr NativeResource { get; set; } = Marshal.AllocHGlobal(100);
        /// <summary>
        /// 模拟一个托管资源
        /// </summary>
        public Random ManagedResource { get; set; } = new Random();
        /// <summary>
        /// 释放标记
        /// </summary>
        private bool disposed;
        /// <summary>
        /// 为了防止忘记显式的调用Dispose方法
        /// </summary>
        ~MyClass()
        {
            //必须为false
            Dispose(false);
        }
        /// <summary>执行与释放或重置非托管资源关联的应用程序定义的任务。</summary>
        public void Dispose()
        {
            //必须为true
            Dispose(true);
            //通知垃圾回收器不再调用终结器
            GC.SuppressFinalize(this);
        }
        /// <summary>
        /// 非必需的,只是为了更符合其他语言的规范,如C++、java
        /// </summary>
        public void Close()
        {
            Dispose();
        }
        /// <summary>
        /// 非密封类可重写的Dispose方法,方便子类继承时可重写
        /// </summary>
        /// <param name="disposing"></param>
        protected virtual void Dispose(bool disposing)
        {
            if (disposed)
            {
                return;
            }
            //清理托管资源
            if (disposing)
            {
                if (ManagedResource != null)
                {
                    ManagedResource = null;
                }
            }
            //清理非托管资源
            if (NativeResource != IntPtr.Zero)
            {
                Marshal.FreeHGlobal(NativeResource);
                NativeResource = IntPtr.Zero;
            }
            //告诉自己已经被释放
            disposed = true;
        }
    }
    
    
    

    实例化的时候,把这个类using起来:

    using(var mc = new MyClass())
    {
    }
    

    步骤

    • 1、实现Dispose方法
    • 2、提取一个受保护的Dispose虚方法,在该方法中实现具体的释放资源的逻辑
    • 3、添加析构函数
    • 4、添加一个私有的bool类型的字段,作为释放资源的标记
    展开全文
  • 私有ip地址不能直接访问外网 可以有效节省Ip地址资源 ABC 类有不同网络段个数 和 主机段个数 这个是由什么决定呢 是由子网掩码决定 IP和子网掩码相互依存不能单独使用 B...

    ip地址的分类

    A网 直接可以使用一台交换机直接通信 而不涉及到外网之间的通信

    BC 类网 也有对应的私有Ip段不直接与外网数据交换,节省IP资源。

    ABC类网分类中的 网络段+主机段 分别占几位 :的依据就是 子网掩码

    B类的掩码前(255.25516位全是1
    IP改变会影响到网址ID的变化,
    而 后面(0.016 位 都是0 所以这段对应的
    ip变化是不会影响到 网络ID 的(计算网络ID使用的是二进制下的逻辑与)
    
    只要是与子网掩码 255对应的就是网络段  只要是0对应的就是主机段
    
    下面最后的截图中例子:
    一个B类的IP地址
    子网掩码可以不是标准的掩码格式(255.255.0.0)
    而是使用的(255.255.255.0)作为子网掩码,此时第三个255(二进制8位)就作为子网段。
    只要子网掩码分配的是255就是网络段,0为主机段
    所以图中的主机段是从172.16.2 (子网)算起的 而不是 172.16.段算。
    
    二进制逻辑与的关系计算网络地址
    广播地址  只要把子网掩码中主机段:0
     的二进制全部换算为1
    这个时候的前面的几个段位不变,
    只是将 主机位全部换算成1,即255
    
    
    首尾两个段一个网络段,一个广播段不可用
    
    
    
    
    ABC 类有不同的网络段的个数  和 主机段个数  这个是由什么决定的呢 
    是由子网掩码决定的
    IP和子网掩码相互依存不能单独使用
    

    在这里插入图片描述

    第一个ip地址和最后IP地址一个是不能分配的
    

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    B类地址:前两个表示网段 后两个表示主机
    

    在这里插入图片描述

    后面两个随便变化也是在同一个网段,与后面的非标准子网掩码 对比 理解 B类网络的 子网 的概念
    

    在这里插入图片描述
    在这里插入图片描述

    私有的ip地址不能直接访问外网  可以有效的节省Ip地址资源
    

    在这里插入图片描述

    ABC 类有不同的网络段的个数  和 主机段个数  这个是由什么决定的呢 
    是由子网掩码决定的
    IP和子网掩码相互依存不能单独使用
    

    在这里插入图片描述

    B类的掩码前(255.25516位全是1  ,
    IP改变会影响到网址ID的变化,
    而 后面(0.016 位 都是0 所以这段对应的
    ip变化是不会影响到 网络Id 的
    

    只要是与子网掩码 255对应的就是网络段 只要是0对应的就是主机段

    在这里插入图片描述

    在这里插入图片描述

    网络地址 主机地址 子网 与子网掩码之间的关系换算

    如下图:
    一个B类的IP地址
    子网掩码可以不是标准的掩码格式(255.255.0.0)
    而是使用的(255.255.255.0)作为子网掩码,此时第三个255(二进制8位)就作为子网段。
    只要子网掩码分配的是255就是网络段,0为主机段
    所以图中的主机段是从172.16.2 (子网)算起的 而不是 172.16.段算。
    
    二进制逻辑与的关系计算网络地址
    广播地址  只要把子网掩码中主机段:0
     的二进制全部换算为1
    这个时候的前面的几个段位不变,
    只是将 主机位全部换算成1,即255
    
    
    首尾两个段一个网络段,一个广播段不可用
    
    

    0L3FxXzQyNjY0OTYx,size_16,color_FFFFFF,t_70)

    展开全文
  • HTML5网络游戏和网页游戏,是属于打开浏览器就可以直接,而且是边玩边下载游戏。 由于每个版本更新,只是更新一小部分资源,如果每次进行版本更新都导致用户重新加载全部游戏资源,那么会导致用户消耗流量...
  • 不安全的直接对象引用

    千次阅读 2019-11-21 21:38:20
    不安全的直接对象引用(IDOR)允许攻击者绕过网站身份验证机制,并通过修改指向对象链接中参数值来直接访问目标对象资源,这类资源可以是属于其他用户数据库条目以及服务器系统中隐私文件等等。 应用程序在...
  • 想必如果你是一名在网上混迹多年老网民,手上一定有几套属于自己网站,有时候想要什么直接在里面搜索十分方便!也不需要满网进行瞎找,但是这类网站起来很快倒下来也很多,所以在很多时候我们要不断更新自己...
  • 1.web-inf路径下的资源属于站内资源,浏览器上是无法直接访问,需要站内访问。不论在springMVC-servlet.xml里面怎么配置,都不能直接访问到。 2.webapp下非web-inf路径下的资源,可以直接访问,如果...
  • iframe 属于一个单独文档不能直接使用父页面的资源,css层叠不会影响iframe iframe如果和父页面同域则可以在iframe中使用parent对象来使用父页js对象 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。...
  • 虚拟机又指虚拟软件,如VM、VBOX等,我们在系统上安装虚拟机,一方面是为了更好做实验,在虚拟机中可以随便操作,出故障了可以直接reset一下,就可以继续使用,也就是它维护成本低。另一方面,它能降低占用空间...
  • APP支持多语言环境,假如它正在后台运行,此时用户去更换系统语言,等系统语言换好后直接从后台打开它,此时用户会发现你界面... 如果你是属于自己在APP内设置语言切换,那么就可以直接在你设置切换那个acti...
  • IDOR允许攻击者绕过网站身份验证机制,并通过修改指向对象链接中参数值来直接访问目标对象资源,这类资源可以是属于其他用户数据库条目以及服务器系统中隐私文件等等。导致这种情况出现原因是,系统在接受...
  • 关于Android资源图片存放位置问题

    千次阅读 2017-04-20 04:35:26
    首先描述一下场景:为某个Activity设置一张背景图,该背景图存放于res/drawable目录下,其实这是一个很简单东西,直接在布局...于是恍然大悟,我使用设备是属于xxhdpi,理论上我的资源图片应该放在drawable-xxhdp
  • Python库和资源

    2012-10-26 10:13:27
    由于设计者和开源社区共同努力,在python中有大量优秀库可以被直接调用以高效地完成不同需求工作。这里列举一些常见常用库:  Tkinter———— Python默认图形界面接口。  Tkinter是一个和Tk接口...
  • “快速启动程序”是其中一个,属于热键型。它也是一个“辅助程序”。 hoekey与同类热键类程序有什么区别,为什么要推荐它? 热键启动程序,顾名思义,就是预先给应用程序定义一个热键,按下热键,就会快速唤出目标...
  • 本文将介绍Qt两种资源使用方式,方便指定我们直接用qrc和rcc命名。....qrc文件中列出的资源文件属于应用程序源树一部分。在.qrc文件中描述的资源文件路径也是相对于.qrc文件所在目录。当然,其中...
  • 1)当用户发起http请求,请求会被Nginx处理,如果是静态资源请求Nginx则直接返回 2)如果是动态请求Nginx则通过fstcgi协议转交给后端PHP程序,nginx是不能处理动态数据,只能是那磁盘上一些文件,视频,图片,文本等返回...
  • 但是根本就没有那个 camera.bin。而更要命的是,在文件夹中把 camera.bin 删除了之后...在汇编里面,字符属于常量,是直接硬编码写在汇编代码里面的,所以我看遍了 CreateFileW 触及到的所有地方。但是凡事有代码的...
  • Web资源防盗链

    2018-12-01 10:48:36
    获取他人服务器的资源地址,绕过他人的资源展示页面,直接在自己页面向用户展示此内容 常见为小站盗取大站图片,音乐,视频,软件等资源; 通过盗链方法,可以减轻自己服务器负担,因为真实空间和流量都是来自...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,016
精华内容 406
关键字:

属于直接资源的是