自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(346)
  • 收藏
  • 关注

转载 windows 下载安装ES

1、下载安装ES(1)从官网下载elasticsearch地址:https://www.elastic.co/downloads/elasticsearch(2)解压zip到文件目录(3)开启ElasticSearch服务进入安装目录下的bin 目录,双击执行 elasticsearch.bat,该脚本文件执行 ElasticSearch 安装程序,稍等片刻,打开浏览器,输入 http://localhost:9200 ,显式以下画面,说明ES安装成功。(4)启动ESwindows下启

2020-12-23 00:16:03 72

原创 创建型模式--抽象工厂模式

1、概念抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:主要解决接口选择的问题。何时使用:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。如何

2021-01-19 23:32:30 11

转载 mysql查询--不走索引

1、表结构CREATETABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `age` int(11) DEFAULT 0, `name` varchar(16) DEFAULT "", key idx_age (`age`), key idx_name (`name`), PRIMARY KEY (`id`)) ENGINE=InnoDB;2、不走索引情况(1)查询条件在索引列上使用函数操作,或者运算的情况以下c

2021-01-18 22:47:44 14

原创 node学习--redis

1、设置过期时间redis设置过期时间:expire key secondsvar redis = require('redis'), RDS_PORT = 6389, //端口号 RDS_HOST = '127.0.0.1', //服务器IP RDS_PWD = '88888888888888', //密码 RDS_OPTS = {}, //设置项 rclient = redis.createClient(RD

2021-01-18 20:22:47 14

转载 Mysql--性能优化

1、MySQL查询分析器EXPLAIN或DESC用法MySQL可以通过EXPLAIN或DESC来查看并分析SQL语句的执行情况explain或desc显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。explain 数据表 或 desc 数据表显示数据表各字段含义explain sql 或desc sql显示sql执行效率explain列的解释table:查询的数据表type:这是重要的列,显示连接使用了何种类型。从最好到最差的

2021-01-18 18:45:42 32

原创 linux 定时任务

linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。1、crontab服务启动与关闭2、全局配置文件cron.daily是每天执行一次的jobcron.weekly是每个星期执行一次的jobcron.monthly是每月执行一次的jobcron.hourly是每个小时执行一次的jobcron.d是系统自动定期需要做的任务crontab是设定定时任务执行文件cron.deny文件就是用于控制不让哪些用户使用Crontab的功能3、用户

2021-01-18 17:00:55 27

转载 node学习--发送消息

const http = require('http');const querystring = require('querystring');const post_data = querystring.stringify({ message: "啦啦啦啦啦啦啦啦啦", name: "可可", service: "wechat", user_id: "***",});const datas = [];for (let i = 0; i < 510; i++) { dat

2021-01-18 15:36:38 8

原创 node学习--一些小的语法

1、js把多个数组合并为一个数组//concat() 连接两个或更多的数组,并返回结果。 //把多个数组合并为一个数组var arr1 = [0,1,2];var arr2 = [3,4,5];var sumData = [];sumData= sumData.concat(arr1).concat(arr2) ;

2021-01-18 12:56:44 17

转载 node---sequelize数据类型

Sequelize.STRING // VARCHAR(255)Sequelize.STRING(1234) // VARCHAR(1234)Sequelize.STRING.BINARY // VARCHAR BINARYSequelize.TEXT // TEXTSequelize.TEXT(‘tiny’) // TINY

2021-01-18 12:08:57 14

原创 redis实战学习

1、redis下载安装https://github.com/MicrosoftArchive/redis/releases启动: redis-server.exe redis.windows.conf出现错误:Creating Server TCP listening socket *:6379: bind: No error解决问题:https://blog.csdn.net/qq_38220334/article/details/105527236打开另一个cmd窗口,客户端调用:redis-

2021-01-18 11:46:40 13

原创 web Api---URL

1、URLURL() 构造函数返回一个新创建的 URL 对象,表示由一组参数定义的 URL。如果给定的基本 URL 或生成的 URL 不是有效的 URL 链接,则会抛出一个TypeError。2、URLSearchParamsURLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串。一个实现了 URLSearchParams 的对象可以直接用在 for…of 结构中,例如下面两行是相等的:for (const [key, value] of mySearchParam

2021-01-17 14:36:00 10

原创 python 定时发送消息给微信好友

1、爬取爱情的文艺句子import requestsfrom lxml import etreeimport redef save_file(love_sentences): with open('love_yaya.csv', 'a', encoding='utf-8') as f: for context in love_sentences: f.write('{}\n'.format(context))def read_url():

2021-01-10 15:53:37 112

原创 golang项目搭建--日志管理

package libimport ( "fmt" l4g "github.com/alecthomas/log4go" "github.com/astaxie/beego/config" "os" "path/filepath" "strconv" "strings")const ( DEBUG = "debug" TRACE = "trace" INFO = "info" WARN = "warn" ERROR = "error" CRITICAL = "critic

2021-01-04 16:02:55 35

原创 scrapy+selenium速度慢修改

1、修改配置CONCURRENT_REQUESTS = 32DOWNLOAD_DELAY = 0.5CONCURRENT_REQUESTS_PER_DOMAIN = 1000000https://blog.csdn.net/q_an1314/article/details/512450112、加入PhantomJS1. 启动Chrome毕竟是图形化的界面, 肯定是会消耗大量内存和cpu 2. phantomjs正是一款没有界面的浏览器但是还是同样能完成浏览器的渲染。这样如果我们的操作系统是没有

2020-12-31 16:21:43 64

原创 selenium学习使用

1、下载pip install selenium2、使用from selenium import webdriverdriver = webdriver.Chrome(executable_path="D:\chromedriver\chromedriver.exe")url = "https://podcasts.apple.com/cn/genre/%E6%92%AD%E5%AE%A2/id26"driver.get(url)# todo 隐式等待driver.implicitly

2020-12-31 12:52:23 36

转载 restful api与传统api的区别(方式及语法)

示例:一个状态数据操作接口传统模式:api/getstate.aspx- 获取状态信息api/updatestate.aspx - 更新状态信息api/deletestate.aspx - 删除该状态的数据RESTful模式:api/state 只需要这一个接口GET 方式请求 api/state- 获取该状态的数据POST 方式请求 api/state- 更新该状态的数据DELETE 方式请求 api/state- 删除该状态的数据...

2020-12-31 11:33:54 26

转载 Scrapy爬取多层级网页内容的方式

# -*- coding: utf-8 -*-import scrapyfrom Avv.items import AvvItem class AvSpider(scrapy.Spider): name = 'av' # 爬虫名 allowed_domains = ['51porn.net/'] # 爬虫作用域 # 爬取第2页到最后一页的代码 url = 'http://www.51porn.net/nvyoudaquan/index_{}.html' # 起始u

2020-12-31 11:30:48 34

原创 go 知识点小结

1、golang goquery下载安装go get github.com/PuerkitoBio/goquery内置函数1)类似函数的位置操作Eq(index int) *Selection //根据索引获取某个节点集First() *Selection //获取第一个子节点集Last() *Selection //获取最后一个子节点集Next() *Selection //获取下一个兄弟节点集NextAll() *Selection //获取后面所有兄弟节点集Prev() *Se

2020-12-30 20:15:31 13

原创 python练习

import pymysql# 链接db = pymysql.connect(host='127.0.0.1', port=3306, user='root',password='123456wsx',database='test_db')cursor = db.cursor()cursor.execute("select * from users")# 查询result = cursor.fetchone()print(result)# 插入sql = "insert into u

2020-12-29 18:24:32 19

原创 python 爬虫练习--scrapy框架

1、安装scrapy框架1. pip install scrapy。2. 可能会出现问题: * 在ubuntu下要先使用以下命令安装依赖包:`sudo apt-get install python3-dev build-essential python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev`,安装完成后再安装`scrapy`。 * 在windows下安装可能会提示`No module named wi

2020-12-29 18:23:27 39

转载 go操作kafka

1、下载包saramaGo语言中连接kafka使用第三方库:github.com/Shopify/sarama。go get github.com/Shopify/sarama@v1.191.2 注意事项sarama v1.20之后的版本加入了zstd压缩算法,需要用到cgo,在Windows平台编译时会提示类似如下错误:# github.com/DataDog/zstdexec: &quot;gcc&quot;:executable file not found in %PA

2020-12-28 16:49:22 30

转载 windows kafka下载安装

https://blog.csdn.net/evankaka/article/details/52421314

2020-12-28 16:40:31 23

原创 go es练习

下载安装包:go get github.com/olivere/elastic注:下载的版本与es安装的版本一致,我的版本是v7.10.0package mainimport ( "context" "encoding/json" "fmt" "github.com/olivere/elastic" "reflect" "strconv")var client *elastic.Clientfunc init(){ c, err := elastic.NewClient

2020-12-25 19:19:26 21

原创 windows python下载安装

1、下载安装python:https://www.runoob.com/python/python-install.htmlpycharm:https://www.runoob.com/w3cnote/pycharm-windows-install.html

2020-12-17 20:06:48 43

原创 grpc damo

1、下载安装包安装protobufgo get -u github.com/golang/protobuf/protogo get -u github.com/golang/protobuf/protoc-gen-go安装gRPCgo get -u google.golang.org/grpc不过由于国内的网络原因上面的命令可能不会成功执行下面的多条命令来代替git clone https://github.com/golang/net.git =>$GOPATH/src/gola

2020-12-17 11:38:12 23

原创 goland项目搭建01Day

1、路由package routersimport ( "github.com/astaxie/beego")func UserRouter() beego.LinkNamespace{ userRouter := beego.NSNamespace("/user", beego.NSRouter("/login",&controllers.UserController{},"get:UserLogin"), beego.NSRouter("/register",&c

2020-12-16 18:00:15 30

转载 beego快速入门

1、简介beego 是一个快速开发 Go 应用的 HTTP 框架,可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,相对于echo框架仅包含路由和控制器核心模块,beego是一个完整的MVC框架包括路由&控制器、model 数据库ORM封装、view模板处理。2、安装安装beego核心包go get github.com/astaxie/beego安装orm包用于操作数据库,beego的orm包是独立的模块需要单独安装go get github.

2020-12-15 11:17:46 43

转载 goland下载安装

一、下载安装开发环境goland:https://www.jetbrains.com/go/go语言sdk(go的标准库):https://golang.google.cn/dl/:安装sdk的时候,注意安装的位置,后面要用到,我这里安装到了C盘,目录为: C:\Go二、配置环境GOROOT在goland中配置sdk:software development kit(软件开发工具包)三、创建工程目录创建一个工程目录,我这里为: C:\goworkstation,这个目录会作为环境变量G

2020-12-14 20:29:42 62

转载 node基础学习--map

map传入对应关系const TEST = [ ['1', '1'], ['2','2']];const test = new Map(TEST);

2020-12-14 14:39:16 16

原创 node基础学习--单元测试jest

1、简介Jest是facebook出品的JavaScript单元测试软件最常用的代码: expect(变量).toEqual(期待值);2、格式describe("number test", ()=>{ it('1 is true', ()=>{ expect(1).toBeTruthy() }) test('2 is true',()=>{ expect(2).toBeTruthy() })})describe 描述, decribe会形成一个作用域i

2020-12-14 14:14:01 21

转载 node基础学习--process对象

1、简介process对象是Node的一个全局对象,提供当前Node进程的信息。它可以在脚本的任意位置使用,不必通过require命令加载。该对象部署了EventEmitter接口。2、退出码进程退出时,会返回一个整数值,表示退出时的状态。这个整数值就叫做退出码。下面是常见的Node进程退出码。0,正常退出1,发生未捕获错误5,V8执行错误8,不正确的参数128 + 信号值,如果Node接受到退出信号(比如SIGKILL或SIGHUP),它的退出码就是128加上信号值。由于128的二进制形

2020-12-14 12:58:18 15

原创 node基础学习--检测变量存在

1、typeof(1)返回类型typeof会返回一个变量的基本类型,只有以下几种:number,boolean,string,object,undefined,function;例:console.log(typeof(1));//numberconsole.log(typeof("abc"));//stringconsole.log(typeof(true));//booleanconsole.log(typeof(m));//undefined(2)判断是否为空if(typeof(a)

2020-12-14 11:21:17 17

原创 node基础学习--ctx

1、简介ctx是context的缩写中文一般叫成上下文,这个在所有语言里都有的名词,可以理解为上(request)下(response)沟通的环境,所以koa中把他们两都封装进了ctx对象,koa官方文档里的解释是为了调用方便,ctx.req=ctx.request,ctx.res=ctx.response,类似linux系统中的软连接?最终执行还是request和response对象body是http协议中的响应体,header是指响应头ctx.body = ctx.res.body = ctx.r

2020-12-14 11:04:36 48

转载 node基础学习--异常捕获

1、简介防止程序中断1.在一个代码块里,如果程序运行过程中自动、或主动(new Error/Exception)生成异常/错误后,若不主动去try...catch该异常,这个异常会逐层抛出,直至主程序,系统会按照框架默认方式处理该异常。2.在逐层抛出异常的过程中,每层代码块异常点之后的程序不会再被执行,除非进行try...catch异常处理。2、异步异常处理在nodejs等异步IO密集场景,经常用异步回调函数来处理IO操作结果——不管是正确的数据还是异常Error,但此时的try…catch怎

2020-12-14 10:18:38 23

转载 node基础学习--assert断言

1、简介assert模块是Node的内置模块,主要用于断言。如果表达式不符合预期,就抛出一个错误。该模块提供11个方法,但只有少数几个是常用的。2、实例assert()assert方法接受两个参数,当第一个参数对应的布尔值为true时,不会有任何提示,返回undefined。当第一个参数对应的布尔值为false时,会抛出一个错误,该错误的提示信息就是第二个参数设定的字符串。// 格式assert(value, message)// 例子var assert = require('asser

2020-12-14 09:57:58 14

转载 node基础学习--constructor && super

constructor构造函数首先,ES6 的 class 属于一种“语法糖”,所以只是写法更加优雅,更加像面对对象的编程,其思想和 ES5 是一致的。function Point(x, y) { this.x = x; this.y = y;} Point.prototype.toString = function() { return '(' + this.x + ',' + this.y + ')';}等同于class Point { constructor(x, y

2020-12-14 09:47:54 28

原创 node基础学习--正则表达式

1、正则表达式正则表达式描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串的等。2、node正则表达式函数match()使用指定的正则表达式函数对字符串进行查找,并以数组形式返回符合要求的字符串原型:stringObj.match(regExp)参数:stringObj 必选项,需要去进行匹配的字符串RegExp 必选项,指定的正则表达式返回值:如果没有使用g(全局匹配)选项,则返回第一个匹配的字符串、该字符

2020-12-13 14:43:46 17

原创 node基础学习--sequelize关联表合并字段

查询方式1:products.findAll({ attributes: ['prdName', 'price'], include: [{ model: user, as: 'u', attributes: ['userName'] }], //raw:true}).then(result => { console.log(JSON.stringify(result))}).catch(err =>

2020-12-09 10:42:48 57

原创 node基础学习--sequelize

1、查找器findAll()findByPk()findOne()findOrCreate()findAndCountAll()findAndCountAll 方法是结合了 findAll 和 count 的便捷方法. 在处理与分页有关的查询时非常有用,在分页中,你想检索带有 limit 和 offset 的数据,但又需要知道与查询匹配的记录总数.findAndCountAll 方法返回一个具有两个属性的对象:(1)count - 一个整数 - 符合查询条件的记录总数(2)rows - 一

2020-12-09 10:09:46 28

原创 node基础学习--modal

1、模型定义(1)模型定义type:必选参数,列的数据类型allowNull:可选参数,默认为true,对应mysql中是否允许该列为空defaultValue:可选参数,默认为null,对应mysql中该列的默认值unique:可选参数,默认为false,标记该列是否唯一,如果设置为ture,会为该列创建一个唯一索引primaryKey:可选参数,默认为false,标记该列是否为主键autoIncrement:可选参数,默认为false,该列是否自增,一般和主键联用comment:可选参数

2020-12-08 23:10:25 25

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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