自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hyman.lu

なんでもないや

  • 博客(85)
  • 收藏
  • 关注

原创 正排索引与倒排索引

正排索引与倒排索引正排索引也叫正向索引(forward index),倒排索引也叫反向索引(inverted index)。他们都是搜广推经常用到的工具,用于记录海量 对象与特征 之间的关系,这里的对象可以是商品、店铺、广告,特征可以是关键词、标签等等。假设对象为商品,特征为关键词。下面举例说明一下什么是正排索引,什么是倒排索引。对于每个商品,我们将它的标题和描述进行分词,然后可以建立如下正排索引(key是商品id,value是该商品的各个关键词的出现次数和出现位置):商品1 -> [(关键词

2020-07-03 23:45:43 124

原创 准确率、召回率、F-Measure

准确率、召回率、F-Measure1.准确率(Precision)与召回率(Recall)Precision指的是检索出来的条目(比如:文档、网页等)有多少是准确的,衡量的是检索系统的查准率;Recall指的是所有准确的条目有多少被检索出来了,衡量的是检索系统的查全率。两者取值在0和1之间,数值越接近1,查准率或查全率就越高。2.综合评价指标(F-Measure)当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索

2020-07-03 23:44:24 108

原创 gitlab架构科普

gitlab架构科普底层存储由三个组件负责:①PostgreSQL:类似于mysql,存储业务数据,比如有哪些项目组,某个项目组下有哪些项目,某项目下哪些人有权限等等②redis:用于缓存热点数据以及存储异步任务,sidekiq这组件会定期拉取分发异步任务给worker执行③gitaly:存储底层代码文件,提供rpc接口对外提供git操作服务接入层由两个组件负责:gitlab shell和gitlab workhorse,前者负责处理ssh请求,后者负责处理http/https请求gitla

2020-07-03 23:41:01 198

原创 React hook && 函数组件相关

React hook && 函数组件相关Hook 是 React 16.8 的新增特性,函数组件每次调用其生产的hook类型、顺序、数量应该都是一致的。不然会报错uncaught Invariant Violation: Rendered more/less hooks than during the previous render.1.useStateimport { useState } from 'react';const [columns, setColumns] = use

2020-07-03 23:36:02 252

原创 React底层原理

React底层原理1.react合成事件react在事件处理上具有如下特点:1.几乎所有的事件代理(delegate)到document,达到性能优化的目的2.对于每种类型的事件,拥有统一的分发函数dispatchEvent3.事件对象(event)是合成对象(SyntheticEvent),不是原生的合成事件与原生事件混用时,需要注意。例如存在如下的业务场景: 点击input框展示日历,点击文档其他部分,日历消失,代码如下:var React = require('react');var

2020-07-03 23:35:06 243

原创 浏览器渲染 && 卡顿排查

浏览器渲染 && 卡顿排查一、浏览器进程与线程Chrome浏览器使用多个进程来隔离不同的网页,在Chrome中打开一个网页相当于起了一个进程,每个tab网页都有由其独立的渲染引擎实例。一个页面进程一般包括以下线程:GUI 渲染线程GUI渲染线程负责渲染浏览器界面HTML元素,当界面需要重绘(Repaint)或由于某种操作引发回流(reflow)时,该线程就会执行。JavaScript引擎线程JS为处理页面中用户的交互,以及操作DOM树、CSS样式树。但为了避免因为引入了

2020-07-03 23:30:28 211

原创 kafka知识点总结

kafka笔记一、名词解释Kafka 的发布订阅的对象是topic。我们可以为每类数据创建一个topic,把向topic发布消息的客户端称作producer,从topic订阅消息的客户端称作consumer。Producers和consumers可以同时从多个topic读写数据。一个kafka集群由一个或多个broker服务器组成,它负责持久化和备份具体的kafka消息。1.Broker:Kafka节点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。2.Topi

2020-07-03 23:28:51 44

原创 Redis知识点总结

Redis知识点总结0. 简单入门知识点1.redis是key-value的数据结构每条数据都是一个键值对键的类型是字符串,并且不能重复值的数据类型分为五种:string、hash、list、set、zset2.数据库没有名字,默认有16个库,通过0-15来标识连接redis数据库。默认选择第一个数据库,即01. 六大底层数据结构可以使用OBJECT ENCODING key来查看某个数据类型的底层实现1.1. SDS(simple dynamic string)简单动态字符串sdshdr

2020-07-03 23:25:01 46

原创 Docker知识点总结

Docker笔记一、镜像、容器、仓库1.镜像(image):Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角。用到了一个重要的资源管理技术,叫写时复制。写时复制(copy-on-write),也叫隐式共享,是一种对可修改资源实现高效复制的资源管理技术。对于一个重复

2020-07-03 23:18:20 122

原创 k8s相关知识点

k8s相关知识点零、k8s哲学Kubernetes中的大部分概念如Node、Pod、ReplicationController、Service等都可以看作一种“资源对象”,几乎所有的资源对象都可以通过Kubernetes提供的kubectl工具(或者API编程调用)执行增、删、改、查等操作并将其保存在etcd中持久化存储。从这个角度来看,Kubernetes其实是一个高度自动化的资源控制系统,它通过跟踪对比etcd库里保存的“资源期望状态”与当前环境中的“实际资源状态”的差异来实现自动控制和自动纠错的高

2020-07-03 23:14:46 81

原创 Golang 协程调度知识点总结

Golang 协程调度一、用户态、内核态、系统调用、中断现代cpu通常有多种特权级别,一般来说特权级总共有4个,编号从Ring 0(最高特权)到Ring 3(最低特权),在Linux上之用到Ring 0和RIng 3,用户态对应Ring 3,内核态对应Ring 0系统调用,例如操作文件、进行网络通讯或者申请内存资源等中断一般有两个属性,一个是中断号,一个是中断处理程序。不同的中断有不同的中断号,每个中断号都对应了一个中断处理程序。在内核中有一个叫中断向量表的数组来映射这个关系。当中断到来时,cpu会

2020-07-03 23:13:03 93

原创 webpack打包知识点总结

webpack打包1.webpack 是一个模块打包工具,能够从一个需要处理的 JavaScript 文件开始,构建一个依赖关系图(dependency graph),该图映射到了项目中每个模块,然后将这个依赖关系图输出到一个或者多个 bundle 中。2.关键概念:entry:项目入口module:开发中每一个文件都可以看做 module,模块不局限于 js,也包含 css、图片等chunk:代码块,一个 chunk 可以由多个模块组成loader:模块转化器,模块的处理器,对模块进行转换处理

2020-07-03 23:11:51 54

原创 mysql锁相关知识点总结

mysql锁相关知识点总结1.mysql server分为3层:服务层、核心层(查询缓存、分析器、优化器、执行器)、存储层。Mysql在5.5之前默认使用MyISAM存储引擎,之后使用InnoDB1.MySQL事务包含四个特性,号称ACID四大天王。原子性(Atomicity):语句要么全执行,要么全不执行,是事务最核心的特性,事务本身就是以原子性来定义的;实现主要基于undo log日志实现的。持久性(Durability:保证事务提交后不会因为宕机等原因导致数据丢失;实现主要基于redo log

2020-07-03 23:07:48 74

原创 手把手教你Sphinx(二)——制作一份学习研讨会报告

手把手教你Sphinx(二)——制作一份学习研讨会报告1. 创建项目在目标目录下执行sphinx-quickstart命令,创建一个名为report的项目文档,除了以下配置项外,其余均取默认值即可:$ sphinx-quickstart report> Project name: Sphinx学习研讨会报告> Author name(s): hymanlu> Projec

2018-01-22 18:33:14 483

原创 手把手教你Sphinx(一)

手把手教你Sphinx(一)1. 什么是Sphinx?所谓Sphinx,其实就是一个能将reStructuredText(类似于Markdown)语法的文本文件转换为HTML、PDF、epub等格式的强大工具。要知道,Python的官方文档就是利用这款工具书写而成的,并且被广泛用于各式各样的说明文档。2. Sphinx的安装由于Sphinx运行于python之上,因此可

2018-01-15 20:25:53 1433

原创 从零开始开发一个大型网站

从零开始开发一个大型网站更新:前端代码已全部由TypeScript进行重写这是本人第一个从零开始开发一个大型网站(前后端+部署代码),是一个内容分享社区,详细信息见github。目前还是开发中后期,随后还要进行优化完善,对某模块感兴趣的可以查看对应的源码。github不仅有部署教程和代码介绍,还附带了本人的开发笔记。网站临时首页:http://119.23.69.178/git

2017-12-20 15:27:18 18417 1

翻译 jQuery插件编写规范

本文详细剖析了jQuery插件的编写规范,即使你并不打算编写jQuery插件,相信也会对你以后理解和使用插件带来极大的帮助。

2017-12-12 20:06:51 486

原创 图解SQL事务隔离等级

本文剖析了SQL中的各种事务并发问题(并一一给出了对应图解),以及Mysql为解决它们而提出的4种隔离级别

2017-12-10 20:45:48 718

原创 彻底剖析numpy的数据类型

本文深入剖析了numpy中各种各样的数据类型,以及他们之间相互转换的机制

2017-11-22 23:21:41 2577

原创 彻底剖析numpy的数值运算

本文详细介绍了numpy中的各种运算操作

2017-11-22 21:10:44 1283

原创 彻底剖析numpy的array对象

本文深入解析了numpy的核心对象array,它的性能优势以及用法。

2017-11-14 23:08:01 889

原创 深入浅出的webpack3入门教程

webpack3的相关介绍和剖析,还附带详尽的代码示例。

2017-11-11 20:05:17 2687

原创 Gulp入门:从安装到编译Sass

本文介绍了前端自动化工具Gulp的基本用法。

2017-11-09 16:27:47 3552

原创 深入浅出的TensorFlow数据格式化存储工具TFRecord用法教程

本文详尽地介绍了使用TFRecord的好处、必要性,然后介绍相关核心概念,最后把它整合到我们的模型训练代码当中。

2017-11-05 13:58:30 8606 1

原创 深入浅出的TensorFlow可视化工具TensorBoard用法教程(二)

本文用详尽的代码实例,教会你如何把TensorBoard应用到真实编码生产环境中。

2017-11-05 00:20:37 2152 3

原创 深入浅出的TensorFlow可视化工具TensorBoard用法教程(一)

本文详尽介绍了TensorFlow可视化工具TensorBoard的核心概念和用法示例。

2017-11-03 23:51:05 9222

原创 TensorFlow图变量tf.Variable的用法解析

本文详细剖析了TensorFlow中的一个最基础但又最重要的概念——图变量的含义和用法。

2017-10-27 20:42:24 67833 13

原创 TensorFlow集群搭建与编程

文本手把手教会你利用docker搭建TensorFlow集群环境,然后利用该环境进行深度学习模型的训练,比较单机版本和集群版本的性能差异。

2017-10-11 14:29:56 4319

翻译 深入浅出的强化学习笔记(二)——使用OpenAI Gym实现游戏AI

本文以利用OpenAI Gym来实现一个游戏AI为主线,一步步地优化模型,慢慢引入强化学习中一些重要概念和训练技巧,最终完美地实现了任务。

2017-10-05 23:08:16 15325 11

原创 深入浅出的强化学习笔记(一)——概述

本文介绍了强化学习的基本特征和模型定义,并举了两个十分形象的例子来方便读者理解大致的决策过程是如何进行的。

2017-10-05 17:36:38 2579

原创 SHELL与空格

本文详细剖析了shell脚本的参数传递机制,并以多个代码示例解析了如何处理参数带空格的情况,还有关于$@和$*变量用法的分析。

2017-09-24 16:24:17 9676

原创 调参神器:Hyperopt

本文介绍了一个调参常用的python库——hyperopt,并给出了一个简单实用的代码demo(附带详尽注释哦)。

2017-09-23 00:13:01 3647 2

翻译 Batch Normalization:加速神经网络训练的通用手段

本文详尽介绍了近几年在深度学习领域十分重要的“小trick,大杀器”——Batch Normalization,实际编码实现对比加入BN前后模型的性能表现差异。

2017-09-18 15:26:02 1769

翻译 使用Tampermonkey进行JavaScript编程

本文介绍了一个十分强大的Chrome插件——Tampermonkey,并通过一些简单的demo展示了如何使用它来实现一些有趣的功能。

2017-09-17 16:15:36 8746 1

原创 分词算法模型学习笔记(三)——CRF

本文介绍了分词界的“终极”算法模型--CRF,分析了其对于MEMM的改进和维特比算法实现。

2017-09-16 01:32:40 927

原创 分词算法模型学习笔记(二)——MEMM

本文介绍隐马尔科夫模型HMM的改进版MEMM,以及它的维特比算法实现。

2017-09-15 18:55:17 3003

原创 分词算法模型学习笔记(一)——HMM

本文介绍分词算法模型中最基本的隐马尔科夫模型HMM,它可以被用于解决哪些问题以及其高效算法实现。

2017-09-14 17:06:30 506

原创 LintCode全AC题解(共331题)

LintCode全AC解(共331题)

2017-09-08 12:00:33 8545 3

原创 gdb的使用指南(下)

本文深入介绍了gdb的3个高级使用技巧——函数调用堆栈分析、core文件分析、多线程调试。

2017-07-02 19:42:03 456

原创 gdb的使用指南(上)

本文介绍了gdb的最基本的使用方法,其中的难点——多线程调试和core文件分析将放在下一节来讲述。

2017-06-30 23:05:06 459

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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