log

javascript数据类型判断

两盒软妹~` 提交于 2020-04-03 01:59:58
js的变量是松散类型,也就是不像java语言那样,需要在变量前面申明对象类型,加var后对变量进行申明,类型默认为undefined,当赋值后才确定变量类型。 js变量类型判别方式我所知道的有三种,第一种是typeof,第二种是instanceof,第三种是使用对象原型的tostring方法。 (1)第一种方法typeof: var a, b = 1, c = "1", d = false, e = [], f = {}, g = function(){}; console.log(typeof a); console.log(typeof b); console.log(typeof c); console.log(typeof d); console.log(typeof e); console.log(typeof f); console.log(typeof g); 控制台输出undefined,number,string,boolean,object,object,function. 为什么数组跟对象输出都是object? 我的理解是,数组跟对象是字面量写法,实际上它们等价于 var e = new Array(); var f = new Object(); 而引用类型的变量typeof都是输出object. 可以试一下 var a = /./; console.log

JS内置对象和Math对象

情到浓时终转凉″ 提交于 2020-04-02 23:43:30
Math对象 <script> // Math数学对象 不是一个构造函数 ,所以我们不需要new 来调用 而是直接使用里面的属性和方法即可 console.log(Math.PI); // 一个属性 圆周率 console.log(Math.max(1, 99, 3)); // 99 console.log(Math.max(-1, -10)); // -1 console.log(Math.max(1, 99, 'pink老师')); // NaN console.log(Math.max()); // -Infinity </script> 自己封装对象 <script> // 利用对象封装自己的数学对象 里面有 PI 最大值和最小值 var myMath = { PI: 3.141592653, max: function() { var max = arguments[0]; for (var i = 1; i < arguments.length; i++) { if (arguments[i] > max) { max = arguments[i]; } } return max; }, min: function() { var min = arguments[0]; for (var i = 1; i < arguments.length; i++) { if

JS作用域

主宰稳场 提交于 2020-04-02 23:29:25
<script> // 1.JavaScript作用域 : 就是代码名字(变量)在某个范围内起作用和效果 目的是为了提高程序的可靠性更重要的是减少命名冲突 // 2. js的作用域(es6)之前 : 全局作用域 局部作用域 // 3. 全局作用域: 整个script标签 或者是一个单独的js文件 var num = 10; var num = 30; console.log(num); // 4. 局部作用域(函数作用域) 在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用 function fn() { // 局部作用域 var num = 20; console.log(num); } fn(); </script> <script> // 变量的作用域: 根据作用域的不同我们变量分为全局变量和局部变量 // 1. 全局变量: 在全局作用域下的变量 在全局下都可以使用 // 注意 如果在函数内部 没有声明直接赋值的变量也属于全局变量 var num = 10; // num就是一个全局变量 console.log(num); function fn() { console.log(num); } fn(); // console.log(aru); // 2. 局部变量 在局部作用域下的变量 后者在函数内部的变量就是 局部变量 // 注意:

linux系统根据关键字查看日志

馋奶兔 提交于 2020-04-02 20:15:27
假设存在日志文件 hrun.log,查询的关键字为"新增用户": 根据关键字查看日志 cat hrun.log | grep "新增用户" 根据关键字查看后10行日志 cat hrun.log | grep "新增用户" -A 10 根据关键字查看前10行日志 cat hrun.log | grep "新增用户" -B 10 根据关键字查看前后10行日志,并显示出行号 cat -n hrun.log | grep "新增用户" -C 10 查看日志前 50 行 cat hrun.log | head -n 50 查看日志后 50 行,并显示出行号 cat -n hrun.log | tail -n 50 说明: -A 表示关键字之后,After -B 表示关键字之前,Before -C 表示关键字前后,Context linux之grep命令 grep是一个多用途的文本搜索工具,linux中使用非常频繁,并且使用很灵活,可以是变量,也可以是字符串。最基本的用法有以下两种: 1.搜索内容中无空格,可以直接执行grep命令,比如:grep pass a.txt,表示在a.txt文件中搜索pass所在的行。 2.如果搜索内容中有空格,则需要使用单引号或者双引号把搜素内容引起来,比如: grep "hello all" a.txt或者grep 'hello all' a.txt

httpd配置三种虚拟主机

我只是一个虾纸丫 提交于 2020-04-02 19:43:30
.在httpd配置完成的情况下进行一下操作 #提前做一个软连接 [root@localhost ~]# echo "export PATH=/usr/local/apachectl/bin:$PATH" > /etc/profile.d/httpd.sh [root@localhost ~]# . /etc/profile.d/httpd.sh [root@localhost ~]# apachectl start #设置是否能访问 [root@localhost ~]# vim /etc/httpd24/httpd.conf <Directory /> AllowOverride none Require all denied </Directory> <Directory "/usr/local/apache/htdocs/whb"> <RequireAll> Require all denied #禁止任何服务器访问 Require ip 192.168.86.137 #只允许访问192.168.86.137 </RequireAll> </Directory> 相同IP相同端口不同域名 [root@localhost ~]# find / -name *vhosts.conf /etc/httpd24/extra/httpd-vhosts.conf /etc/httpd24

Chrome 控制台不完全指南

孤街浪徒 提交于 2020-04-02 19:36:25
Chrome的开发者工具已经强大到没朋友的地步了,特别是其功能丰富界面友好的console,使用得当可以有如下功效: 更高「逼格」更快「开发调试」更强「进阶级的Frontender」 Bug无处遁形「Console大法好」 console.log 大家都会用log,但鲜有人很好地利用 console.error , console.warn 等将输出到控制台的信息进行分类整理。 他们功能区别不大,意义在于将输出到控制台的信息进行归类,或者说让它们更语义化。 各个所代表的语义如下: console.log :普通信息 console.info :提示类信息 console.error :错误信息 console.warn :警示信息 当合理使用上述log方法后,可以很方便地在控制台选择查看特定类型的信息。 console.log('一颗红心向太阳','吼吼~'); console.info('楼上药不能停!'); console.warn('楼上嘴太贱!'); console.error('楼上关你毛事?'); 如果再配合 console.group 与 console.groupEnd ,可以将这种分类管理的思想发挥到极致。这适合于在开发一个规模很大模块很多很复杂的Web APP时,将各自的log信息分组到以各自命名空间为名称的组里面。 console.group("app.foo

Linux日志分类

扶醉桌前 提交于 2020-04-02 10:15:39
Linux日志分类 在Linux系统中,有三个主要的日志子系统: 连接时间日志 由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。 进程统计日志 进程统计日志由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。 错误日志 错误日志由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。 使用linux查看日志排除bug是不少开发和测试人员的必备技能,为了更好的使用,所以百度结合自己经验总结一下常用的日志查看部分相关命令。大家可以随时更新提出质疑一同进步。 一、常用命令 tail head cat tac less more tail: n 是显示行号相当于nl命令 tail -100f test.log 实时监控100行日志 tail -n 10 test.log 查询日志尾部最后10行的日志; tail -n +10 test.log 查询10行之后的所有日志; head

nginx 源码学习笔记(十八)—— ngx_add_inherited_sockets 继承的sockets

依然范特西╮ 提交于 2020-04-01 20:25:43
之前几节有讲过多进程的创建过程和子进程所处理的事情,今天要讲一下nginx里面main函数的另一个主要的操作ngx_add_inherited_sockets。 ngx_add_inherited_sockets:服务器监听套接字的封装。 本文的主要灵感来自: http://blog.csdn.net/livelylittlefish/article/details/7277607 ,感谢作者分享。 在ngx_add_inherited_sockets方法内,有一个重要的结构体需要讲解——ngx_listening_s src/core/ngx_connection.h typedef struct ngx_listening_s ngx_listening_t; struct ngx_listening_s { ngx_socket_t fd; //文件描述符 struct sockaddr *sockaddr; //socket地址 socklen_t socklen; //地址长度 size_t addr_text_max_len; ngx_str_t addr_text; //最终存放socket地址,之前的sockaddr主要存放没转换前的数据,之后会讲解 int type; int backlog; int rcvbuf; //接受缓冲区大小 int sndbuf; /

ILMerge 简单使用

懵懂的女人 提交于 2020-04-01 14:08:30
使用说明 ilmerge /? Usage: ilmerge [/lib:directory]* [/log[:filename]] [/keyfile:filename [/delaysign]] [/internalize[:filename]] [/t[arget]:(library|exe|winexe)] [/closed] [/ndebug] [/ver:version] [/copyattrs [/allowMultiple] [/keepFirst]] [/xmldocs] [/attr:filename] [/targetplatform:<version>[,<platformdir>] | /v1 | /v1.1 | /v2 | /v4] [/useFullPublicKeyForReferences] [/wildcards] [/zeroPeKind] [/allowDup:type]* [/union] [/align:n] /out:filename <primary assembly> [<other assemblies>...] ILMerge用法示例如下: ILMerge.exe /target:library /targetplatform:v4 /out:"E:\Projects\ILMergeTest\A\Ref\AandB4.dll"

spring注入静态成员变量

你离开我真会死。 提交于 2020-04-01 12:49:18
  工作中遇到的问题,在工具类里面需要给静态成员变量注入值,而静态成员变量是在类加载的时候加载的,所以一直报空指针。 在网上找了几种方法,记录一下。   第一种:使用set函数注入。 1 @Component 2 public class LogUtil { 3 4 private static PayLogDao logDao ; 5 @Autowired 6 public void setLogDao(PayLogDao logDao){ 7 LogUtil.logDao = logDao; 8 } 9 }   第二种:使用 @PostConstructy注解。 1 @Component 2 public class LogUtil { 3 @Autowired 4 private PayLogDao logDao ; 5 6 private static LogUtil logUtil; 7 8 @PostConstruct 9 private void init() { 10 logUtil = this; 11 } 12 13 public static void writeSuccessLog(String ip,String mac,String clazz,String msg){ 14 PayLog log = new PayLog(); 15 log