技术文章

寒假学习——ES6(2)

我的梦境 提交于 2021-02-17 19:34:32
寒假学习——ES6(2) 箭头函数的适合场景:与this无关的回调、定时器、数组的方法回调,不太适合用在对象的方法中 函数参数默认值 1、允许给形参赋初始值(注意一般具有默认值的参数位置要靠后) 2、可以与 解构赋值一起用 function add(a, b, c = 10) { return a + b + c; } let result = add(1, 2);//没传参数就用默认值传了就用传的参数 console.log(result); function connect({host="127.0.0.1",username,password,port}){ console.log(host); console.log(username); console.log(password); console.log(port); } connect({ // host:'localhost', username:'admin', password:'root', port:'3306' }) rest参数 ES6引入rest参数,来获取函数的实参,用来代替arguments function fun(a,b,...args){ console.log(a); console.log(b); console.log(args); }//rest参数必须放在最后...是格式 fun(1

ORACLE 数据字典

随声附和 提交于 2021-02-17 19:34:00
数据字典是ORACLE数据库重要的组成部分,是元数据(matedata)的存储地点,ORACLE RDBMS使用数据库管理对象信息和安全信息。 数据库管理员可以通过数据字典来得到数据库的信息 。 数据字典是由 内部RDBMS(X$)表,数据字典表,数据字典视图,动态性能表(v$)组成。 1.内部表 该部分是ORACLE核心组成部分。用于跟踪数据库内部信息,维护数据库的正常运行。x$是加密命名的,是ORACLE 技术机密。通过X$建立大量视图,提供用户查询管理数据库之用,是ORACLE 数据库 运行的基础。 通过set autotrace trace explain 来跟踪x$表内部信息 2. 数据字典表 该表主要用于存储表,索引,约束以及其他数据库结构信息。一般以$结尾。例如tab$,obj$,ds$,在创建数据库时通过运行sql.bsq脚本创建。 3.动态性能表 在数据库启动的时候,数据库创建X$表,在此基础上,oracle创建gv$ v$视图。v$对于一个gv$,其中的差别是v$在gv$使用了whrer instance_id=的条件,主要用于当时数据库运行状态。 v_$,gv_$是基于gv$,v$创建的,创建脚本是catelog.sql 4.数据字典视图 数据字典视图是居于X$创建的视图,在创建数据库的时由catelog.sql创建。按照前缀不同,分为三类。 user

万字长文聊缓存(上)

时光怂恿深爱的人放手 提交于 2021-02-17 19:33:17
深入解析SpringMVC核心原理:从手写简易版MVC框架开始(SmartMvc) : https://github.com/silently9527/SmartMvc IDEA多线程文件下载插件: https://github.com/silently9527/FastDownloadIdeaPlugin 公众号:贝塔学JAVA 摘要 缓存的目的是为了提高系统的访问速度,让数据更加接近于使用者,通常也是提升性能的常用手段。缓存在生活中其实也是无处不在,比如物流系统,他们基本上在各地都有分仓库,如果本地仓库有数据,那么送货的速度就会很快;CPU读取数据也采用了缓存,寄存器->高速缓存->内存->硬盘/网络;我们经常使用的maven仓库也同样有本地仓库和远程仓库。现阶段缓存的使用场景也越来越多,比如:浏览器缓存、反向代理层缓存、应用层缓存、数据库查询缓存、分布式集中缓存。 本文我们就先从浏览器缓存和Nginx缓存开始聊起。 浏览器缓存 浏览器缓存是指当我们去访问一个网站或者Http服务的时候,服务器可以设置Http的响应头信息,其中如果设置缓存相关的头信息,那么浏览器就会缓存这些数据,下次再访问这些数据的时候就直接从浏览器缓存中获取或者是只需要去服务器中校验下缓存时候有效,可以减少浏览器与服务器之间的网络时间的开销以及节省带宽。 > Htpp相关的知识,欢迎去参观 《面试篇

人脸识别(基于Caffe)

Deadly 提交于 2021-02-17 19:31:55
人脸识别(基于Caffe, 来自tyd) 人脸识别(判断是否为人脸) LMDB(数据库, 为Caffe支持的 分类 数据源) mkdir face_detect cd face_detect mkdir train val mkdir train/{0,1} mkdir val/{0,1} 将人脸数据放到 train/1 和 val/1 下 将非人脸数据放到 val/0 和 val/0 下 vim train.txt 0/xxx.jpg 0 1/xxx.jpg 1 vim val.txt 1/xxx.jpg 1 0/xxx.jpg 0 拷贝Caffe自带的脚本根据上面的train.txt和val.txt制作LMDB数据源, 名为 face_detect_lmdb.sh # 修改部分 EXAMPLE=/home/jh/face_detect DATA=/home/jh/face_detect TOOLS=caffe安装目录/build/tools TRAIN_DATA_ROOT=/home/jh/face_detect/train/ VAL_DATA_ROOT=/home/jh/face_detect/val/ # 对输入的数据进行大小的调整, 大小的调整是要根据我们要使用的网络模型, 比如AlexNet或者VGG(速度慢)为227x227 RESIZE=true if

Oracle 数据字典和数据字典视图

馋奶兔 提交于 2021-02-17 19:24:38
--============================== --Oracle 数据字典和数据字典视图 --============================== 数据字典 是元数据的集合,从逻辑上和物理上描述了数据库及内容,存储于 SYSTEM 与 SYSAUX 表空间内的若干段。 SYS 用户拥有所有的数据字典表,数据字典基本一般以 $ 结尾,如 col$ , tab$ 等,这些数据字典存放在 system 表空间中。 数据字典的形成 在数据库创建阶段创建,在使用阶段维护和更新 无法通过 DML 操作来修改,只能通过相关的命令修改系统,来达到间接修改数据字典。 数据字典的特点 每个 Oracle 数据库的中枢 描述数据库和它的对象 包含只读的表和视图 存储在 SYSTEM 表空间中 拥有者是 SYS 用户 由 Oracle 服务器自己维护 用 SELECT 访问 数据字典内容 : 数据字典提供下列信息 : 逻辑和物理的数据库结构 对象的定义和空间分配 一致性限制 用户 角色 权限 审计 数据字典的主要用途: Oracle 服务器用它查找下列信息: 用户 对象 存储结构 Oracle 服务器修改数据字典当 DDL 语句执行的时候 . 用户和管理员们利用它了解数据库的信息 . 基础表和数据字典视图: 数据字典包括两个部分 : 基础表 存储数据库的描述 CREATE

人脸识别系列之人脸检测--训练基于肤色特征的检测

╄→尐↘猪︶ㄣ 提交于 2021-02-17 19:20:27
前言: 基于特征的方法是利用人脸的先验知识导出的规则进行人脸检测。 一般来说,常用的特征包括人脸和人脸器官典型的边缘和形状特征(如人脸轮廓、虹膜轮廓、嘴唇轮廓等)、纹理特征(纹理是在图上表现为灰度或颜色分布的某种规律性,这种规律性在不同类别的纹理中有其不同特点,人脸有其特定的纹理特征)、颜色特征(人脸肤色特征,目前主要有RGB,HSV,YCbCr,YIQ,HIS等彩色空间模型被用来表示人脸的肤色,从而进行基于颜色信息的人脸检测方法的研究)。 人脸检测的方法: 基于规则/知识方法 人脸模式的变化满足一定的规律,所以可以归纳描述人脸特征的规则,如灰度分布、比例关系、纹理信息等 基于模板的方法 固定模板法,可变形模板法 基于不变特征的方法,如彩色信息 人脸的肤色在彩色空间中的分布相对比较集中,所以可用来检测和跟踪人脸。 基于外观学习的方法---目前的主流方法 将人脸检测视为区分“非人脸样本”与“人脸样本”的模式识别问题,通过对人脸样本集和非人脸样本集的学习产生分类器 以世纪晟科技人脸识别技术为例,世纪晟科技拥有3D人脸识别算法的核心技术,详解基于肤色特征的检测。 · 多种肤色模型 J.L.Crowley and F. Berard, “Multi-model tracking of faces for video communications 将肤色区域的RGB颜色归一化,用其中的(r

Node.js 1:Nodejs介绍与开发环境搭建

ε祈祈猫儿з 提交于 2021-02-17 19:19:52
介绍 官网对Node.js的解释: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 JavaScript是一个脚本语言,需要解析器才可以工作,而浏览器就充当了解析器的角色,在Chrome浏览器中,这个解析器就是V8引擎。它可以将js代码高效地转化为机器码然后执行。V8引擎是用C++写的。V8引擎是浏览器的一部分,他是作为解析JavaScript语法而存在的。 而V8引擎本身就是开源的,也就是说,如果把V8引擎抽离出来,在别的地方也可以运行JS代码,并被解析成机器码。这就是Nodejs的来历。 Nodejs作者最开始是要创建一个高性能web服务器。作者想写一个类似于nginx的高性能的异步的web服务器,且拥有一些高性能的模块和功能,且功能易于扩展。最好有事件机制和非阻塞I/O的特点,JS就是最好的选择。 nodejs高性能体现在: V8引擎解析很快,性能强大 事件驱动,非阻塞式 I/O 的模型 用途: 还可以写一些小工具,web全栈式的开发,写一些聊天室这样的应用。 Nodejs用的JavaScript运行环境,是前端人员也可以开发后台应用,进行全栈开发。生态圈很好(npm包,不用重复造轮子) 安装 官网安装,不断下一步即可安装。 node -v

万字长文:etcd 问题、调优、监控

两盒软妹~` 提交于 2021-02-17 19:19:16
etcd 原理解析:读《etcd 技术内幕》这篇文章主要是原理性的内容,本文主要是实践角度,谈谈平时用到的一些操作和监控 高可用 etcd 是基于 raft算法的分布式键值数据库,生来就为集群化而设计的,由于Raft算法在做决策时需要超半数节点的投票,所以etcd集群一般推荐奇数节点,如3、5或者7个节点构成一个集群。 以上是etcd集群部署的基础概念,但是还需要注意以下问题: 选主过程 etcd 是高可用的,允许部分机器故障,以标准的3 节点etcd 集群,最大容忍1台机器宕机,下面以最简单的leader宕机来演示raft 的投票逻辑,以实际的运行日志来验证并理解。更多的场景可以看之前的原理解析 场景:正常运行的三台etcd:100、101、102。当前任期为 7,leader 为 101机器。现在使101 宕机 宕机前:101 为 leader,3 个 member 宕机后:102 成为新 leader,2 个 member 过程: 将 101 机器的 etcd 停止,此时只剩 2 台,但总数为 3 101停止etcd 的运行 102(91d63231b87fadda) 收到消息,发现101(8a4bb0af2f19bd46)心跳超时,于是发起了新一轮选举,任期为 7+1=8 91 d63231b87fadda [term 7 ] received MsgTimeoutNow

Oracle session相关数据字典(一)

陌路散爱 提交于 2021-02-17 19:04:24
(一)session相关视图 (1)视图 v$session v$active_session_history dba_hist_active_session_history 如果是多节点数据库,v$session和v$active_hist_session_history仅获得单节点的信息,可以使用gv$sessiongv$active_session_history来获取所有节点的信息。 (2)三个视图介绍 (2.1)v$session v$session视图记录了当前连接到数据库的session信息,记录的是实时的数据,当有新的会话连接到数据库时,v$session就会产生一条新的session记录,一旦会话断开,记录消除,所以v$session的信息是实时动态变化的。 视图结构如下: 链接: v$session视图介绍 ,其它2个视图与其类似,不再介绍。 (2.2)v$active_session_history   v$active_session_history是记录了数据库活跃会话的采样,如果是多节点,则用gv$active_session_history来查看所有节点的信息。每隔1秒钟,数据库会进行一次采样,将活跃会话记录到该视图,每个活跃会话记录一行。该视图是ASH的核心,用以记录活动SESSION的历史等待信息,这部分内容记录在内存中,期望值是记录一个小时的内容