12 2019 档案
摘要:布尔代数是计算机的基础。没有它,就不会有计算机。 布尔代数发展到今天,已经非常抽象,但是它的核心思想很简单。本文帮助你理解布尔代数,以及为什么它促成了计算机的诞生。 我依据的是《编码的奥妙》的第十章。这是一本好书,强烈推荐。 一、数理逻辑的起源 19世纪早期,英国数学家乔治·布尔(George Bo
阅读全文
摘要:一、关于HTML5语音Web Speech API HTML5中和Web Speech相关的API实际上有两类,一类是“语音识别(Speech Recognition)”,另外一个就是“语音合成(Speech Synthesis)”,这两个名词听上去很高大上,实际上指的分别是“语音转文字”,和“文字
阅读全文
摘要:前言 只有光头才能变强 索引和锁在数据库中可以说是非常重要的知识点了,在面试中也会经常会被问到的。 本文力求简单讲清每个知识点,希望大家看完能有所收获 声明:如果没有说明具体的数据库和存储引擎,默认指的是MySQL中的InnoDB存储引擎 一、索引 在之前,我对索引有以下的认知: 索引可以加快数据库
阅读全文
摘要:进程 定义:运行在虚拟地址空间的一个程序执行实体。引入进程的原因是:为使程序“并发”执行,且对“并发”执行的程序加以描述和控制。 一些特殊进程ID 为 0 的进程通常是调度进程,常常被称为「交换进程」(swapper)。该进程是内核的一部分,它不是磁盘的程序。 ID 为 1 的进程是 init 进程
阅读全文
摘要:1.一些缩写 PID = 进程ID (由内核根据延迟重用算法生成)PPID = 父进程ID(只能由内核修改)PGID = 进程组ID(子进程、父进程都能修改)SID = 会话ID(进程自身可以修改,但有限制,详见下文)TPGID= 控制终端进程组ID(由控制终端修改,用于指示当前前台进程组) 2.关
阅读全文
摘要:1. eval command-line 其中command-line是在终端上键入的一条普通命令行。然而当在它前面放上eval时,其结果是shell在执行命令行之前扫描它两次。如: pipe="|" eval ls $pipe wc -l shell第1次扫描命令行时,它替换出pipe的值|,接着
阅读全文
摘要:安装 mutt brew install mutt 配置 .muttrc 网上的配置教程 我的配置文件: ## .muttrc ## Purpose: $HOME/.muttrc for mutt ## Author: IOU ## Last Update: 04-22-2013 ## Settin
阅读全文
摘要:实现思路 实现一个shell进程库,通过类似于init,run,wait几个简单的命令,就可以迅速实现多进程并发,伪码如下: process_init # 创建进程 for city in ${cities[*]} do cmd="handler $city" process_run $cmd do
阅读全文
摘要:> 我只讲它很小的一部分功能,因为我也是刚刚开始摸索这个软件。更多的用法请查阅官网:http://www.mutt.org 一、mutt的安装 1 yum -y install sendmail 2 #需要安装sendmail并开启防火墙的25端口,如果你需要收邮件110端口也要开 3 yum -y
阅读全文
摘要:默认的情况下,Shell脚本中的命令是串行执行的,必须等到前一条命令执行完后才执行接下来的命令,但是如果我有一大批的的命令需要执行,而且互相又没有影响的情况下(有影响的话就比较复杂了),那么就要使用命令的并发执行了。 如下: #!/bin/bash IPLIST=/home/meta/ipinfo/
阅读全文
摘要:作为一名后台开发,写shell脚本可能是工作中避免不了的,比如日志分析过滤、批量请求和批量插入数据等操作,这些如果单纯靠人工手动去处理既费时又费力,有了shell脚本就可以轻松搞定,当然有人会说可以用python或者其他编程语言,这并不是不可以,但没有哪个有shell这么简单方便快捷的。需要依赖库不
阅读全文
摘要:索引 索引常见的几种类型 索引常见的类型有哈希索引,有序数组索引,二叉树索引,跳表等等。本文主要探讨 MySQL 的默认存储引擎 InnoDB 的索引结构。 InnoDB的索引结构 在InnoDB中是通过一种多路搜索树——B+树实现索引结构的。在B+树中是只有叶子结点会存储数据,而且所有叶子结点会形
阅读全文
摘要:背景 最近生产爆出一条慢sql,原因是用了or和!=,导致索引失效。于是,总结了索引失效的十大杂症,希望对大家有帮助,加油。 一、查询条件包含or,可能导致索引失效 新建一个user表,它有一个普通索引userId,结构如下: CREATE TABLE `user` ( `id` int(11) N
阅读全文
摘要:1.针对IP或主机的基本Nmap扫描 nmap IP 现在,如果要扫描主机名,只需替换主机的IP,如下所示: nmap 域名 2.扫描本地或远程服务器上的特定端口或扫描整个端口范围 nmap -p 1-65535 localhost 在此示例中,我们扫描了本地计算机的所有65535端口。 Nmap能
阅读全文
摘要:转自https://juejin.im/post/5df789066fb9a0161f30580c 现如今,前端开发的同学已经离不开 npm 这个包管理工具,其优秀的包版本管理机制承载了整个繁荣发展的NodeJS社区,理解其内部机制非常有利于加深我们对模块开发的理解、各项前端工程化的配置以加快我们排
阅读全文
摘要:1、前言 今天在处理一个客户问题,遇到Nginx access log中出现大量的499状态码。实际场景是:客户的域名通过cname解析到我们的Nginx反向代理集群上来,客户的Web服务是由一个负载均衡提供外网IP进行访问,负载均衡后面挂了多个内网web站点业务服务器。出现的访问日志如下所示: 2
阅读全文
摘要:概念 IntersectionObserver接口(从属于Intersection Observer API)为开发者提供了一种可以异步监听目标元素与其祖先或视窗(viewport)交叉状态的手段。祖先元素与视窗(viewport)被称为根(root)。 这是MDN上给的官方概念,不用去管它,我粘出
阅读全文
摘要:Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式;二是Append-only file(缩写aof)的方式;三是虚拟内存方式;四是diskstore方式。下面分别介
阅读全文
摘要:权限框架casbin1.概述Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。 Casbin支持以下编程语言: Casbin可以做到:支持自定义请求的格式,默认的请求格式为{subject, object, action}。具有访问控制模型model和策略poli
阅读全文
摘要:nginx根据cookie分流众所周知,nginx可以根据url path进行分流,殊不知对于cookie分流也很强大,同时这也是我上篇提到的小流量实验的基础。二话不说,先看需求,两台服务器分别定义为apache001:192.168.1.1:8080apache002:192.168.1.2:80
阅读全文
摘要:1.连接mongodb ######### 方法一 ########## import pymongo # MongoClient()返回一个mongodb的连接对象client client = pymongo.MongoClient(host="localhost",port=27017) ##
阅读全文
摘要:XPath XPath,全称 XML Path Language,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言。最初是用来搜寻 XML 文档的,但同样适用于 HTML 文档的搜索。所以在做爬虫时完全可以使用 XPath 做相应的信息抽取。 1. XPath 概览 XPath 的选择
阅读全文
摘要:通过这个工具的实现,大家可以理解到打包工具的原理到底是什么。 实现 因为涉及到 ES6 转 ES5,所以我们首先需要安装一些 Babel 相关的工具 yarn add babylon babel-traverse babel-core babel-preset-env 接下来我们将这些工具引入文件中
阅读全文
摘要:#!/usr/bin/env python # -*- coding: utf-8 -*- import requests from pyquery import PyQuery as pq url = 'http://www.136book.com/huaqiangu/' headers = {
阅读全文
摘要:前言 是不是觉得不可思议,js已经强大到这个地步? 是的,js日新月异,它在不断的进步。只要稍不留神,那我们都只能望尘莫及了。 今天我们就来看看是什么js插件可以如此厉害? 人脸识别JavaScript也可以轻松搞定 tracking.js tracking.js 库将不同的计算机视觉算法和技术引入
阅读全文
摘要:开篇 很多人都或多或少使用过 webpack,但是很少有人能够系统的学习 webpack 配置,遇到错误的时候就会一脸懵,不知道从哪查起?性能优化时也不知道能做什么,网上的优化教程是不是符合自己的项目?等一系列问题!本文从最基础配置一步步到一个完善的大型项目的过程。让你对 webpack 再也不会畏
阅读全文
摘要:前言 作为一个对UI和动画敏感的切图仔,在日常开发之余,也会关注一些贼好看的图表库和插件。 接下来,我将给大家介绍几款web/python/vue/react里漂亮得不行的开源库/实现。 1. 手绘风图表库:roughViz.js 基于D3(v5), roughjs, 和handy。 1.1 衡量方
阅读全文
摘要:可能大家对session已经比较熟悉了,也大概了解了session的机制和原理,但是我们在做爬虫时如何会运用到session呢,就是接下来要讲到的会话保持。 首先说一下,为什么要进行会话保持的操作? requests库的session会话对象可以跨请求保持某些参数,说白了,就是比如你使用sessio
阅读全文
摘要:Unix/Linux系统下IO主要分为磁盘IO,网络IO,我今天主要说一下对网络IO的理解,网络IO主要是socket套接字的读(read)、写(write),socket在Linux系统被抽象为流(stream)。 网络IO模型 在Unix/Linux系统下,IO分为两个不同阶段: 等待数据准备好
阅读全文
摘要:rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync功能 作为命令,实现本地-远程文件同步 作为服务,实
阅读全文
摘要:不同端口同步(前提还是做好免密) 主要通过选项-e "ssh -p 端口"来实现 重命名了秘钥文件 指定-i即可~ 1. 本地目录同步到导地不同端口主机目录 [root@bakserver ~]# rsync -avc a210/ -e "ssh -p 1876" 39.108.136.98:/tm
阅读全文
摘要:提要 熟悉 rsync 的功能及其特点 掌握 rsync 语法及常用选项的功能 掌握 rsync 命令的三种基本使用方法 掌握如何筛选 rsync 的传输目标 掌握使用 rsync 进行镜像和增量备份的方法 rsync 简介 rsync(remote synchronize)是一个远程数据同步工具,
阅读全文