自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 问答 (1)
  • 收藏
  • 关注

转载 干货 | 这可能全网最好的BatchNorm详解

其实关于BN层,我在之前的文章“梯度爆炸”那一篇中已经涉及到了,但是鉴于面试经历中多次问道这个,这里再做一个更加全面的讲解。Internal Covariate Shift(ICS)Batch Normalization的原论文作者给了Internal Covariate Shift一个较规范的定义:在深层网络训练的过程中,由于网络中参数变化而引起内部结点数据分布发生变化的这一过程被称作Internal Covariate Shift。这里做一个简单的数学定义,对于全链接网络而言,第i层的数学表达可以

2021-04-16 14:03:02 805

转载 MySQL之权限管理

一、MySQL权限简介关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界。比如只允许你执行select操作,那么你就不能执行update操作。只允许你从某台机器上连接mysql,那么你就不能从除那台机器以外的其他机器连接mysql。那么Mysql的权限是如何实现的呢?这就要说到mysql的两阶段验证,下面详细介绍:第一阶段:服务器首先会检查你是否允许连接。因为创建用户的时候会加上主机限制,可以限制成本地、某个IP、某个IP段、以及任何地方等,只允许你从配置的指定地方登陆。

2021-04-14 14:23:54 1734

转载 Curl运维命令 - 日常用法总结

在Linux系统中,curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载操作,是综合传输工具,习惯上称url为下载工具。下面就日常运维中基于curl命令使用做下总结(用法、详解、指南):一、Curl命令用法curl语法和参数选项curl [option] [url]curl常见参数-a/–append 上传文件时,附加到目标文件-A/–user-agent

2021-04-13 14:12:44 6966

转载 nodejs搭建本地服务器

var http = require(‘http’);var fs = require(‘fs’);var url = require(‘url’);//创建服务器http.createServer(function (request, response) {//解析请求,包括文件名var pathname = url.parse(request.url).pathname;//默认加载路径if (pathname == '/') { pathname = "/index.html"

2021-04-12 10:35:26 157

转载 创建索引,这些知识应该了解

前言:在 MySQL 中,基本上每个表都会有索引,有时候也需要根据不同的业务场景添加不同的索引。索引的建立对于数据库高效运行是很重要的,本篇文章将介绍下创建索引相关知识及注意事项。1.创建索引方法创建索引可以在建表时指定,也可以建表后使用 alter table 或 create index 语句创建索引。下面展示下几种常见的创建索引场景。建表时指定索引CREATE TABLE t_index (increment_id int(11) NOT NULL AUTO_INCREMENT COMME

2021-04-12 10:32:47 388

转载 PHP中的孤儿进程与僵尸进程

基本概念我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。孤儿进程一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。僵尸进程一个进程使用fo

2021-04-09 14:22:12 127

转载 Docker容器时间跟主机时间保持同步的操作记录

在Docker容器创建好之后,可能会发现容器时间跟宿主机时间不一致,这就需要同步它们的时间,让容器时间跟宿主机时间保持一致。如下:宿主机时间[root@slave-1 ~]# dateFri May 12 11:20:30 CST 2017容器时间[root@slave-1 ~]# docker exec -ti 87986863838b /bin/bashroot@87986863838b:/# dateFri May 12 03:20:33 UTC 2017发现两者之间的时间相差了八个小

2021-04-08 13:54:39 130

转载 MFS+Keepalived双机高可用热备方案操作记录

基于MFS的单点及手动备份的缺陷,考虑将其与Keepalived相结合以提高可用性。在Centos下MooseFS(MFS)分布式存储共享环境部署记录这篇文档部署环境的基础上,只需要做如下改动:1)将master-server作为Keepalived_MASTER(启动mfsmaster、mfscgiserv)2)将matelogger作为Keepalived_BACKUP(启动mfsmaster、mfscgiserv)3)将ChunkServer服务器里配置的MASTER_HOST参数值改为VIP地

2021-04-08 13:52:37 270

转载 Prometheus时序数据库-报警的计算

Prometheus时序数据库-报警的计算在前面的文章中,笔者详细的阐述了Prometheus的数据插入存储查询等过程。但作为一个监控神器,报警计算功能是必不可少的。自然的Prometheus也提供了灵活强大的报警规则可以让我们自由去发挥。在本篇文章里,笔者就带读者去看下Prometheus内部是怎么处理报警规则的。报警架构Prometheus只负责进行报警计算,而具体的报警触发则由AlertManager完成。如果我们不想改动AlertManager以完成自定义的路由规则,还可以通过webhook外

2021-04-07 14:49:17 207

转载 基于Kafka和Elasticsearch构建实时站内搜索功能的实践

目前我们在构建一个多租户多产品类网站,为了让用户更好的找到他们所需要的产品,我们需要构建站内搜索功能,并且它应该是实时更新的。本文将会讨论构建这一功能的核心基础设施,以及支持此搜索能力的技术栈。问题的定义与决策为了构建一个快速、实时的搜索引擎,我们必须做出某些设计决策。我们使用MySQL作为主数据库存储,因此有以下选择:直接在MySQL数据库中查询用户在搜索框中输入的每个关键词,就像%#{word1}%#{word2}%…这样。 ????使用一个高效的搜索数据库,如Elasticsearch。???

2021-04-02 13:50:56 250

转载 废弃fastjson!大型项目迁移Gson保姆级实战

本篇文章是我这一个多月来帮助组内废弃fastjson框架的总结,我们将大部分Java仓库从fastjson迁移至了Gson。这么做的主要的原因是公司受够了fastjson频繁的安全漏洞问题,每一次出现漏洞都要推一次全公司的fastjson强制版本升级,很令公司头疼。文章的前半部分,我会简单分析各种json解析框架的优劣,并给出企业级项目迁移json框架的几种解决方案。在文章的后半部分,我会结合这一个月的经验,总结下Gson的使用问题,以及fastjson迁移到Gson踩过的深坑。文章目录:为何要放

2021-04-02 13:45:17 189

转载 C++ 编译 Lua 从而使 Lua 利用 C++ 异常

看 ldo.c 前面的 LUAI_THROW LUAI_TRY 等宏就是做的这个事情。所以,如果你用 C++ 做宿主语言,就应该用 C++ 编译器编译 Lua 库。并且在下面一段中的一句话给出了如果用 C++ 做宿主语言,应该用 C++ 编译 Lua 的原因:Lua 在内部发生异常时,VM 会在 C 的 stack frame 上直接跳至之前设置的恢复点,然后 unwind lua vm 层次上的 lua stack 。lua stack (CallInfo 结构)在捕获异常后是正确的,但 C 的 st

2021-04-01 14:39:26 323

转载 基于Pygame的游戏制作

一、pygame的窗口制作开发坏境是vscode 1.43.0 python版本是3.7.6代码import pygamefrom pygame.locals import *import sysdef hello_world():pygame.init()pygame.display.set_mode((640,480))pygame.display.set_caption(“hello world”)while True:for event in pygame.event.get(

2021-04-01 14:38:04 383

转载 Python的控制语句有哪些?常见内容介绍!

学习python的人应该都听说过python的控制语句,那么你知道Python的控制语句有哪些吗?我们一起来看看吧。Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(www.d

2021-03-31 14:43:26 588

转载 MPP大规模并行处理架构详解

面试官:说下你知道的MPP架构的计算引擎?这个问题不少小伙伴在面试时都遇到过,因为对MPP这个概念了解较少,不少人都卡壳了,但是我们常用的大数据计算引擎有很多都是MPP架构的,像我们熟悉的Impala、ClickHouse、Druid、Doris等都是MPP架构。采用MPP架构的很多OLAP引擎号称:亿级秒开。本文分为三部分讲解,第一部分详解MPP架构,第二部分剖析MPP架构与批处理架构的异同点,第三部分是采用MPP架构的OLAP引擎介绍。一、MPP架构MPP是系统架构角度的一种服务器分类方法。

2021-03-30 14:09:15 1129

转载 「回顾」从语言智能到行业智能

一、 自然语言理解之难1.1自然语言解析大家都知道自然语言理解是NLP中的核心的问题,是重中之重。那么我们就来聊一聊为什么自然语言处理这么有用,为什么又这么难。首先我们定义一下自然语言理解是什么,一直以来业界都没有一个关于它的很好的定义,那我们就用一个最简单的描述来解释它:我们把一段自然语言描述成一个机器可读的数据结构,它可以是一个图,也可以是一个逻辑表达式等等。只要后面的机器可以读这个数据结构,我们就认为它可以跟后面的业务逻辑进行对接,而这种程度的映射,我们就称它已经完成了自然语言的理解。自然语言理解

2021-03-29 14:55:51 187

转载 浅析集群会话绑定tomcat cluster session

什么是session?其实session是一个存在服务器上的类似于一个散列表格的文件。里面存有我们需要的信息,在我们需要用的时候可以从里面取出来。说起session的作用,简单的举个例子:我们在登录某些网站www.ggmmpk.com的时候,输入了用户名密码,登录以后再打开新的页面时,自动显示的是已登录的状态,不需要再次重新登录。这里就是session功能的一个小小的体现。session是一种管理用户状态和信息的机制,与cookies的不同的是,session的数据是保存在服务器端。说的明白点就是se

2021-03-29 14:53:20 190

转载 零基础入门深度学习(二):用一个案例掌握深度学习方法

导读本课程是百度官方开设的零基础入门深度学习课程,主要面向没有深度学习技术基础或者基础薄弱的同学,帮助大家在深度学习领域实现从0到1+的跨越。从本课程中,你将学习到:深度学习基础知识numpy实现神经网络构建和梯度下降算法计算机视觉领域主要方向的原理、实践自然语言处理领域主要方向的原理、实践个性化推荐算法的原理、实践本周为开讲第二周,百度深度学习技术平台部主任架构师毕然老师,继续开始零基础入门深度学习的授课。毕老师发现,在实际工业实践中,面对新问题套用已有方案通常不会取得好效果,需要从初步建

2021-03-25 16:09:50 314

转载 常见的6种MySQL约束

MySQL约束<1> 概念是一种限制,它是对表的行和列的数据做出约束,确保表中数据的完整性和唯一性。<2> 使用场景创建表的时候,添加约束<3> 分类default: 默认约束, 域完整性not null: 非空约束,域完整性unique: 唯一约束,实体完整性primary key: 主键约束,实体完整性foreign key: 外键约束,参照完整性check: 检查约束(MySQL不支持),域完整性auto_increment: 自增长约束u

2021-03-24 15:10:58 360

转载 为什么构建容器需要 Namespace

Namespace 概念Namespace 是 Linux 内核的一个特性,该特性可以实现在同一主机系统中,对进程 ID、主机名、用户 ID、文件名、网络和进程间通信等资源的隔离。Docker 利用 Linux 内核的 Namespace 特性,实现了每个容器的资源相互隔离,从而保证容器内部只能访问到自己 Namespace 的资源。目前 Linux 内核中提供了 8 种类型的 Namespace:各种 Namespace 的作用Mount NamespaceMount Namespace 是 L

2021-03-23 16:18:58 163

转载 分享18个常用的ECMAScript 6代码片段

最近在整理电脑的项目,总结了一些常见的小功能(获取URL、URL参数解析、Form表单数据解析等),特别的reduce方法的妙用。1.如何批量隐藏指定的元素?const hide = (…el) => […el].forEach((e) => (e.style.display = “none”));// 调用示例hide(document.querySelectorAll(“img”));2.如何检查元素是否具有指定的类?const hasClass = (el, className)

2021-03-22 16:07:21 125

转载 Canal高可用架构部署

一、前言canal 是阿里的一款开源项目,纯 Java 开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了 MySQL(也支持 mariaDB)。 filecanal 模拟 mysql slave 的交互协议,伪装自己为 mysql slave,向 mysql master发送 dump 协议;mysql master 收到 dump 请求,开始推送binary log给 slave(也就是canal)canal 解析 binary log对象(原始为byte流)。总体架

2021-03-22 14:22:54 346

转载 IT:基于数组或链表实现Map

AVA中的Map主要就是将一个键和一个值联系起来。虽然JAVA中已经提供了很多Map的实现,为了学习并掌握常用的数据结构,从本篇开始我将自己实现Map的功能,本篇主要是通过数组和链表两种方式实现,之后提供二叉树,红黑树,散列表的版本实现。通过自己手写各个版本的Map实现,掌握每种数据结构的优缺点,可以在实际的工作中根据需要选择适合的Map。Map API的定义在开始之前,我们需要先定义出Map的接口定义,后续的版本都会基于此接口实现public interface Map<K, V> {

2021-03-19 16:14:25 151

转载 Golang程序设计——函数

函数结构在编程领域,函数向编译器和开发者提供了有关的信息,这些信息指明了函数该接收什么样的输入以及会产生什么样的输出。这些信息是通过函数第一行提供的,第一行称为函数签名。Go语言声明函数语法如下:func 函数名称(参数名 参数类型) (返回值名称 返回值类型) { // 函数体return语句}参数名在参数类型前面,如a int,这一点和其他语言是不同的函数参数数量可以不固定,但是只允许最后一个参数数量不固定,而且必须是同种类型返回值名称不是必须的,但是参数名是必须写的有返回值的函数,

2021-03-19 15:40:08 273

转载 每天学一个 Linux 命令(67):namp

命令简介nmap(Network Mapper - 网络映射器)命令用于网络探测和安全审核,是网络探索工具和端口扫描程序。namp, 它可以扫描单主机,也可以快速扫描大型网络结构。nmap 输出信息是你所扫描目标的列表,且每个目标都有详细的信息展示,具体的展示信息取决于所使用的选项。该信息中的关键是“有趣的端口表www.sasa27.com”。该表列出了端口号和协议,服务名称以及状态。状态为打开,已过滤,已关闭或未过滤。[root@CentOS7-1 ~]# nmap --help -bash: nm

2021-03-18 14:40:35 377

转载 一文读懂SuperEdge拓扑算法

杜杨浩,腾讯云高级工程师,热衷于开源、容器和Kubernetes。目前主要从事镜像仓库、Kubernetes集群高可用&备份还原,以及边缘计算相关研发工作。前言SuperEdge service group 利用 application-grid-wrapper 实现拓扑感知,完成了同一个 nodeunit 内服务的闭环访问在深入分析 application-grid-wrapper 之前,这里先简单介绍一下社区 Kubernetes 原生支持的拓扑感知特性Kubernetes servic

2021-03-18 14:38:33 133

转载 Kubernetes集群添加用户

Kubernetes中的用户K8S中有两种用户(User)——服务账号(ServiceAccount)和普通意义上的用户(User) ServiceAccount是由K8S管理的,而User通常是在外部管理,K8S不存储用户列表——也就是说,添加/编辑/删除用户都是在外部进行,无需与K8S API交互,虽然K8S并不管理用户,但是在K8S接收API请求时,是可以认知到发出请求的用户的,实际上,所有对K8S的API请求都需要绑定身份信息(User或者ServiceAccount),这意味着,可以为User配

2021-03-15 17:06:25 396

转载 Deno会在短期内取代Node吗?

Deno是什么?Deno v1.0.0已于5月13日正式发布。其开发者为Ryan Dahl,他的上一个项目是Node,相信我们大部分人都了解。作为Node之父,Ryan Dahl认为Node自从他把项目移交出去后,Node的走向越来越背离了他的初衷,并且存在着很多无法解决的问题,所以他决心重新开发一个新的项目去解决这些问题,这个项目就名为Deno。目标则是Destroy-node。那么,这样是不是就意味着Deno即将替代Node,成为Node的下一代产品?我们应不应该从现在就开始放弃Node开始使用

2021-03-12 15:50:03 224

转载 SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)

使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次,先说说三大框架整合过程。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上

2021-03-11 15:48:03 210

转载 如何用Redash连接DolphinDB数据源

Redash是一款开源的BI工具,提供了基于Web的数据库查询和可视化功能。DolphinDB支持通过https协议的POST和GET接口获取数据,可以使用Redash中的JSON和URL两种数据源来连接DolphinDB database。使用JSON数据源连接DolphinDBRedash目前只有在线版本(SAAS)中支持JSON,因此使用在线版本的用户可以选择这种连接方式。这种方式需要DolphinDB能够外网访问。要使用Redash版本,需要在Redash官网注册并登录。登录后,在首页创建

2021-03-10 16:29:14 152

转载 一步一步搭建react应用-爬取豆瓣电影的电影信息

自己写表单录入电影信息比较费劲,所以选择爬取豆瓣电影的信息主要爬取电影的封面、主演、年份、产地、简介等信息。前端有个输入框,输入电影名然后去爬取电影信息录入到MongoDB中分析打开豆瓣电影,搜索千与千寻通过分析,发现搜索后的列表是通过https://movie.douban.com/subject_search?search_text=%E5%8D%83%E4%B8%8E%E5%8D%83%E5%AF%BB&cat=1002要搜的电影一般都是列表的第一条,有时搜出来的第一条是明星的信息

2021-03-09 16:55:37 182

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除