静态函数

使用 Hexo 创建项目文档网站

喜欢而已 提交于 2020-01-21 15:35:26
当我们发布一个开源项目的时候,最重要的事情之一就是要创建项目文档。对使用项目的用户来说,文档是非常有必要的,通常我们可以使用下面这些方式来创建文档: GitHub Wiki :在 Github 上我们可以为每个项目都创建一个 wiki。Wiki 是由一系列的 Markdown 文件组成,所以我们可以用 wiki 来做项目文档。但这种方案也有一些缺点:wiki 的贡献者不会出现在项目贡献者列表中;文档的结构和布局都是有限制的,只能是 Github Wikis 的样式;文档存储在第三方平台上。 README:我们可以为项目创建一个 README.md 文件,它会直接展示在 Github(或 Gitlab、Coding 等 git 仓库)的项目页面。如果文档非常少,这中方案是非常适合的。但如果文档非常多,这个 README.md 文件就会非常大了。而且通常来说,README.md 是用来介绍项目,而不是展示文档。 自建网站:当然,我们也可以创建一个文档网站,然后放在自己的服务器上。这样我们就可以随意编辑文档。但这种方案的缺点是不便于追踪文档的变化、开发网站和文档维护相比前两种方案麻烦非常多、而且还需要自建主机。 Github Pages :Github 也提供了一个托管项目中静态文件的功能。我们可以为项目创建一个 gh-pages 分支,Github 就会将分支中的内容当做静态站点

Effective Java 3

对着背影说爱祢 提交于 2020-01-20 02:05:57
Item 15 使类和成员的可访问性最小化 1、一个设计的好的组件应该隐藏它的所有实现细节,清晰地将它的 API 以及具体实现分开。 2、尽可能的使用低级别的访问级别,降低类和成员的可访问性。 3、如果一个包私有的顶层类或接口只被一个类使用,考虑将它变为私有的静态内部类。 3、设计类的时候首先设计你所有的公有 API,然后应该反射性的将其他剩余的类设为private,只有当它真的需要提高访问级别时,才将它提升为包私有的。 4、protected的类是API的一部分,需要始终保证对它的支持,protected的级别在实际使用中是较少的。 5、如果一个方法覆盖了超类的一个方法,不能使它的访问级别比超类中的低。 6、在调试程序时,可以适当提高某些方法的访问性。 7、public类的实体域通常是非public的。 8、一个类拥有public static final array 是错误的,作为替代选择以下方法: private static final Thing[] PRIVATE_VALUES = { ... }; public static final List<Thing> VALUES =Collections.unmodifiableList(Arrays.asList(PRIVATE_VALUES)); private static final Thing[] PRIVATE

python 类方法与静态方法

空扰寡人 提交于 2020-01-20 00:06:40
@classmethod : 类方法 @staticmethod : 静态方法 类方法和静态方法的调用一样,都是通过类就可以直接调用(类名.方法名())。 区别:   类方法,需要传入该类,定义类方法的时候要传一个默认的参数cls。是一个函数修饰符,它表示接下来的是一个类方法,而对于平常我们见到的则叫做实例方法。类方法的第一个参数cls,   静态方法则不用。第一个参数是self,表示该类的一个实例。 来源: https://www.cnblogs.com/tingxin/p/12216022.html

千万级用户网站门户前端设计

我们两清 提交于 2020-01-19 19:25:12
千万级用户网站门户前端设计 对于千万级的注册用户的门户项目是前端这块是怎么去实现的,自己在平常的工作中总结了一些经验,也是在不断的挫折中,不断演练的,希望总结出来给大家参考下,和大家一起探讨,一起进步。 一、门户设计一般会遇到哪些难点 (一)、首页打开时间太慢了 在开发一个门户到生产上线后,首页响应时间是检验门户整个系统架构以及开发的重要的一项指标,有时候我们发现在公司测试发现速度都挺快的,怎么到生产首页打开就慢了呢? (二)、页面加载不流畅,总感觉看着不舒服 因为门户一般都是偏向于内容和图片类资源比较多,但是我们打开自己的网页,有时候总感觉加载并不是按照我们期望的那样加载得到,顺其自然,总感觉看起来怪怪的。 (三)、希望用户缓存的地方未进行缓存 很多静态的前端资源,其实在系统未进行更新时候,第一次加载之后,希望缓存到用户的本地,但是因为缓存策略没搞好,经常未进行有效的缓存。 (四)、页面的头部尾部经常需要被第三方嵌入 因为作为一个比较大的门户站点,可能会让很多小的服务接入进来,但是头部和尾部因为是需要保持风格统一,所以经常需要被第三方进行嵌入。 (五)、代码没有进行有效的压缩,导致被窃取 因为作为门户站点,前端如果不进行加密的话,代码很容易被别人进行抄袭伪造,而且还很容易清楚里面的业务逻辑,从而很容易仿造和进行攻击。 (六)、增量静态资源发布 经常门户线上环境需要增加一点小功能

C++中的static关键字的总结

落花浮王杯 提交于 2020-01-19 03:00:36
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 1.面向过程设计中的static 1.1静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个 静态全局变量 。我们先举一个静态全局变量的例子,如下: //Example 1 #include <iostream.h> void fn(); static int n; //定义静态全局变量 void main() {   n=20;   cout<<n<<endl;   fn(); } void fn() {    n++;   cout<<n<<endl; } 静态全局变量有以下特点: 该变量在全局数据区分配内存; 未经初始化的静态全局变量会被程序自动初始化为0(默认初始化)( 自动变量的值是随机的,除非它被显式初始化 ); 静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的;  静态变量都在全局数据区分配内存,包括后面将要提到的静态局部变量。 对于一个完整的程序,在内存中的分布情况如下:  代码区 全局数据区 堆区 栈区 一般程序的由new产生的动态数据存放在堆区,函数内部的自动变量存放在栈区。自动变量一般会随着函数的退出而释放空间,静态数据(即使是函数内部的静态局部变量

小程序开发初体验,从静态demo到接入Bmob数据库完全实现

匆匆过客 提交于 2020-01-18 22:01:23
之前我胖汾公司年会、问我能不能帮忙搞个小程序方便他们进行游戏后的惩罚/抽奖使用、出了个简单的设计图、大概三天左右做了个简单的小程序、目前提交审核了。对于写过一小段时间vue来说小程序很容易上手、写法和结构差不多。 ----------------- 这里整理的内容大致划分四个部分 ①常规选型 ②静态页面 ③接入Bmob数据库 ④发布小程序 ⑤个人开发过程的笔记。 ------------------ 小程序-萌小福团建(密钥:20190101) 静态完整代码: https://github.com/GugaLiz/GamePunishment/tree/master 接入Bmob数据库后的完整代码: https://github.com/GugaLiz/GamePunishment/tree/br/2.x ===============================常规选型 =============================== 1.小程序开发官方文档 ①简易教程(第一次开发小程序请务必看完简易教程这一页好吗?答应我!主要是看看怎么申请小程序和安装上开发工具,有公众号的注意,登录页面跟公众号是一样的,根据你的登录账户区分登录公众号还是小程序的!!!):https://developers.weixin.qq.com/miniprogram/dev/ ②组件:https:/

静态函数调用

為{幸葍}努か 提交于 2020-01-18 02:42:18
静态函数 # include <iostream.h> class Point { public : void output ( ) //非静态成员函数 { } static void init ( ) //静态成员函数 { } } ; 调用1:非静态成员函数和非静态成员属于对象的方法和数据,也就是先产生类的对象,然后通过类的对象去引用。 void main ( ) { Point pt ; pt . init ( ) ; //编译成功 pt . output ( ) ; //编译成功 } 调用2:静态成员函数和静态成员变量属于类本身,在类加载的时候,即为它们分配了空间,所以可通过类名::函数名,类名::变量名来访问。 void main ( ) { Point :: init ( ) ; //编译成功。不属于某个具体的对象,Point类没有构造对象之前,init已经存在,即分配了代码区空间。 Point :: output ( ) ; //编译失败。非法调用非静态成员函数,即Point构造对象后,output才存在。 } 调用3:静态成员函数只能调用静态成员变量。 # include <iostream.h> class Point { public : void output ( ) //非静态成员函数 { x = 0 ; y = 0 ; } static void init

面试官常问的Nginx的几个问题

99封情书 提交于 2020-01-17 21:38:14
1.什么是Nginx? Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 目前使用的最多的web服务器或者代理服务器,像淘宝、新浪、网易、迅雷等都在使用 2.为什么要用Nginx? 优点: * 跨平台、配置简单 * 非阻塞、高并发连接:处理2-3万并发连接数,官方监测能支持5万并发 * 内存消耗小:开启10个nginx才占150M内存 成本低廉:开源 * 内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上。 * 节省宽带:支持GZIP压缩,可以添加浏览器本地缓存 * 稳定性高:宕机的概率非常小 * master/worker结构:一个master进程,生成一个或者多个worker进程 * 接收用户请求是异步的:浏览器将请求发送到nginx服务器,它先将用户请求全部接收下来,再一次性发送给后端web服务器,极大减轻了web服务器的压力 * 一边接收web服务器的返回数据,一边发送给浏览器客户端 * 网络依赖性比较低,只要ping通就可以负载均衡 * 可以有多台nginx服务器 * 事件驱动:通信机制采用epoll模型 3.为什么Nginx性能这么高?

一款国产静态代码分析工具与Converity的对比

妖精的绣舞 提交于 2020-01-17 17:37:27
源伞科技Pinpoint,作为BAT都在使用的一款静态代码分析工具,到底有什么领先于其他厂商的能力? 1. 扩展和部署功能对比 源伞科技Pinpoint现有的检查器可以通过简单的json配置文件扩展业务逻辑。比如敏感数据泄露到日志检查器,企业或许有很多自己的日志打印函数,我们可以通过人工配置指定,即可提高检测质量。 如果不想人工配置,Pinpoint有未公开发布的库函数学习工具,可以通过线下分析企业代码库自动学习和生成上述配置文件。 Pinpoint对分布式多机扫描部署支持比 Coverity 好,并发扫描和结果合并x性能也比 Coverity 更强,能更好支持BAT级别的数千代码库扫描( 已在BT部署验证 )。 2. 分析能力对比 本节补充一些人工构造的例子介绍Pinpoint在分析能力上比Coverity强的部分。本节所有代码示例,Coverity均有误报或漏报。 Pinpoint更懂数据流 精确深度的指针分析,深入分析内存中的程序行为 高深度高精度函数调用链分析,查找跨越多层函数的深度问题 示例代码如下: (链接:https://www.sourcebrella.com/online-showcase/?id=5b483da03a21cd078346028f),此示例代码基于空指针(Null Pointer Dereference)问题检测。 准备代码:

php中self static区别

我与影子孤独终老i 提交于 2020-01-17 10:20:03
准确说,后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwarding call)的类名。当进行静态方法调用时,该类名即为明确指定的那个(通常在 :: 运算符左侧部分);当进行非静态方法调用时,即为该对象所属的类。所谓的“转发调用”(forwarding call)指的是通过以下几种方式进行的静态调用:self::,parent::,static:: 以及 forward_static_call()。可用 get_called_class() 函数来得到被调用的方法所在的类名,static:: 则指出了其范围。 该功能从语言内部角度考虑被命名为“后期静态绑定”。“后期绑定”的意思是说,static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。 self:: 的限制 使用 self:: 或者 __CLASS__ 对当前类的静态引用,取决于定义当前方法所在的类 来源: https://www.cnblogs.com/yisong-china/p/12204269.html