- 博客(221)
- 资源 (7)
- 收藏
- 关注
原创 nginx反代 499 502 bad gateway 和timeout
(1)在反代配置文件里location / 下,加入 针对499 的客户端关闭导致的服务器返回不了的问题: proxy_ignore_client_abort on;(2)请求时间过长导致的nginx返回超时:proxy_connect_timeout 1; proxy_send_timeout 300; proxy_read_timeout 300;(3)缓存不够导致的badgateway: proxy_buffer_size 1M; proxy_b...
2020-12-09 13:38:24 860
原创 mysql update与group by
根据域名列表,更新订单表的域名总数量UPDATE `order` as A INNER JOIN (select COUNT(dns_name)as count,order_no from domain_email_list GROUP BY order_no) as B ON A.order_no = B.order_noSET A.domain_count=B.count
2020-08-03 17:51:42 7377
转载 Go 高级并发
Go 高级并发原文地址:https://encore.dev/blog/advanced-go-concurrency 原文作者:André Eriksson 译文出处:https://encore.dev/blog 本文永久链接:https://github.com/gocn/translator/blob/master/2020/w1_advanced_go_concurrency.md 译者:咔叽咔叽 校对者:fivezh如果你曾经使用过 Go 一段时间,那么你可能了解一些 Go 中的
2020-07-24 13:44:09 764
转载 go 生成邀请码,可逆
背景日常的网站开发中,会遇到网站的促销活动,就有涉及到邀请好礼的功能 成功邀请好友,则获取相应奖励,这时候,就有邀请码的需求 邀请码要求每个用户唯一 方法一. 可根据用户的uid生成邀请码 方法二. 邀请码可根据某个初始化id生成,用户主动请求,生成code,绑定uid 方法二,这种方式,需额外记录uid和code关系 方法一,根据uid生成,也可根据code反推出uid,不用额外查询,比较方便实现记录方法一的实现 由长数字转换为特定长度的code
2020-07-06 13:11:07 3991
转载 go 协程池使用提示
main.gopackage mainimport ( "fmt" conc "github.com/micro/examples/Test/Concurrence" "runtime" //"runtime" "time")//定义一个实现Job接口的数据type Score struct { Num int}//定义对数据的处理func (s *Score) Do() { fmt.Println("num:", s.Num) //t
2020-07-01 11:45:13 206
转载 es修改密码
一、设置密码1.需要在配置文件中开启x-pack验证, 修改config目录下面的elasticsearch.yml文件,在里面添加如下内容,并重启.xpack.security.enabled: truexpack.license.self_generated.type: basicxpack.security.transport.ssl.enabled: true2,执行设置用户名和密码的命令,这里需要为4个用户分别设置密码,elastic, kibana, logstash_sys
2020-06-29 13:49:17 7826
转载 golang日志框架之logrus
golang日志库golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在golang的世界里,没有一个日志库像slf4j那样在Java中具有绝对统治地位。golang中,流行的日志框架包括logrus、zap、zerolog、seelog等。logrus是目前Github上star数量最多的日志库,目前(2018.08,下同)star数量为8119,fork数为1
2020-06-24 12:55:08 2941
原创 go 解析csr参数(完整)
(1)参数:原始csr 格式如:-----BEGIN CERTIFICATE REQUEST-----............................-----END CERTIFICATE REQUEST-----(2)返回值:生成csr时的参数 都能解析出来, 邮箱邮编也在key.Subjet里,仿照写出即可(3)代码如下:import ( "crypto/ecdsa" "crypto/rsa" "crypto/x509" "encoding/p..
2020-05-15 11:51:32 2288
原创 mysql source插入数据乱码
问题描述:手写的sql文件,文件编码 是utf8,但是在source导入出现乱码解决方法:step1.用指定编码的方式打开数据库: mysql -u root -p --default-character-set=utf8step2. 输入密码, 选择数据库step3.执行命令: source d:/project/test.sql...
2020-05-09 18:09:51 232
原创 go mod 无法下载依赖问题
从Go 1.11版本开始,官方支持了go module包依赖管理工具。还新增了GOPROXY环境变量。用来设置代理,设置代理后,下载源代码时将会通过这个代理地址,而不再是以前的直接从代码库下载。# Linux / macOSexport GOPROXY=https://goproxy.io# Windows$env:GOPROXY = "https://goprox...
2020-04-14 10:12:08 5023
转载 go资料
作者:知乎用户链接:https://www.zhihu.com/question/30461290/answer/210414739来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。学习任何一门语言,都要学习好基础,把基础打牢,那些框架对你来说都是工具,你自己的基础好,懂得了他们的原理,自己就可以创造更优秀的框架。基础推荐官方文档,没有什么比这个更清晰...
2020-04-10 19:48:41 333
转载 部署超简单的 Golong 分布式 WebSocket 微服务
使用场景在实现业务的时候,我们常常有些需求需要系统主动发送消息给客户端,方案有轮询和长连接,但轮询需要不断的创建销毁 http 连接,对客户端、对服务器来说都挺消耗资源的,消息推送也不够实时。这里我们选择了 WebSocket 长连接的方案。有大量的项目需要服务端主动向客户端推送消息,为了减少重复开发,我们做成了微服务。使用于服务器需要主动向客户端推送消息、客户端需要实时获取消息的请求...
2020-04-10 13:30:43 2022
转载 go反射
Go语言的反射反射是语言里面是非常重要的一个特性,我们经常会看见这个词,但是对于反射没有一个很好的理解,主要是因为对于反射的使用场景不太熟悉。一、理解变量的内在机制1.类型信息,元信息,是预先定义好的,静态的。2.值信息,程序进行过程中,动态变化的。二、反射和空接口1.空接口相当于一个容器,能接受任何东西。2.那怎么判断空接口变量存储的是什么类型呢?之前有使...
2020-04-09 01:34:30 176
转载 go闭包
认识闭包首先来看一段代码: 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func squares() func() int { 8 var x int 9 return func() int { 10 x++ 11 return x * x ...
2020-03-11 21:10:20 242
转载 图解传说中的HTTP协议
先扒一扒HTTP协议背景? HTTP(HyperText Transfer Protocol) 即超文本传输协议,现在基本上所有web项目都遵从HTTP协议(协议就是一种人为的规范)。 目前绝大部分使用的都是HTTP/1.1版本(1.0太老,2.0仍在制订中。。。)。 因为HTTP协议是属于TCP/IP协议簇的,所以先简单介绍下与HTTP相关的TCP/IP知识。TCP/IP...
2020-02-05 22:02:55 369
转载 python装饰器与偏函数
一、什么是偏函数?(1)在Python的functools模块众多的功能中,其中有一个就是偏函数,我们称之为 partial function模块的概念我们下一篇在细讲。(2)我们都听过偏将军吧,在三国时代的官制中,系将军的辅佐,与裨将军两者都为杂号将军;今天我们要讲的偏函数,其实是函数的辅佐,什么意思呢,我们借助Python的help帮助函数,看一下:这里我...
2020-02-05 12:55:32 201
原创 go简单协程池实现
为防止无限制开启gorouting造成的cpu性能浪费以及更严重的内存溢出和程序崩溃,这里加单实现一下协程池深入理解:http://marcio.io/2015/07/handling-1-million-requests-per-minute-with-golang/流程图:代码实现:package mainimport ( "fmt" "time")//...
2020-01-28 00:47:40 514
转载 go语言错题集(坑)【三】
系列相关:go语言错题集(坑)【一】go语言错题集(坑)【二】go语言错题集(坑)【三】目录不要对Go并发函数的执行时机做任何假设假设T类型的方法上接收器既有T类型的,又有*T指针类型的,那么就不可以在不能寻址的T值上调用*T接收器的方法一个包含nil指针的接口不是nil接口将map转化为json字符串的时候,json字符串中的顺序和map赋值顺序无关Js...
2020-01-17 00:22:55 481
转载 go语言错题集(坑)【二】
系列相关:go语言错题集(坑)【一】go语言错题集(坑)【二】go语言错题集(坑)【三】目录Golang中函数被看做是值,函数值不可以比较,也不可以作为map的key匿名函数作用域陷阱[3]int和[4]int不算同一个类型数组还可以指定一个索引和对应值的方式来初始化。不能对map中的某个元素进行取地址&操作当map为nil的时候,不能添...
2020-01-17 00:19:54 877
转载 go语言错题集(坑)【一】
系列相关:go语言错题集(坑)【一】go语言错题集(坑)【二】go语言错题集(坑)【三】目录文件名字不要轻易以__test.go为结尾语句fmt.Println("这里是汉字:" + 字符串变量)字符串变量的值打印不出来的问题多个defer出现的时候,多个defer之间按照LIFO(后进先出)的顺序执行panic中可以传任何值,不仅仅可以传string用...
2020-01-17 00:13:26 1112
转载 秒杀系统的艺术【内有库存问题解决方法】
目录12306抢票,极限并发带来的思考?1. 大型高并发系统架构2.秒杀抢购系统选型3. 扣库存的艺术4. 代码演示5.总结回顾12306抢票,极限并发带来的思考?每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还...
2020-01-13 22:04:09 1411
原创 【go链表排序】常数级空间复杂度、nlogn时间复杂度
package mainimport "fmt"type ListNode struct { Val int Next *ListNode}//头结点,不存储元素,主要用于头插法type LinkList struct { HeadNode *ListNode}//头插法,原来的头结点始终不变,只是将原来的头结点的HeadNode指向新申请结点//新申请的结点又指向...
2020-01-06 17:40:56 348
原创 go合并两个有序列表
题目: 将两个有序链表合并为一个新的有续链表并返回。新链表是通过拼接给定的两个链表的所有节点做成的。思路:1、如果给定的两条链表中有一条为空,返回另一条即可2、若两条链表都不为空,则在两条链表中选择较小的节点作为head,被选中的较小节点所在链表的第二个节点便成了二当家带领这条链表3、二当家带领着这条链表与另一条链表进行比较,始终选择较小的节点连在head后面。4...
2020-01-02 21:31:27 1102
转载 谈Go语言中并发Map的使用
最近开发Go语言总是遇到哈希表的使用,在高并发下如何保证读写的安全性尤为重要,假如不了解的情况下,使用原生map的话,性能倒是很高,但在多个goroutine操作下就会遇到并发读写的错误出现。为了并发安全,修改读写访问,每次都写都加入读写锁,又会导致性能的大幅度下降,安全和性能实在是难以同时兼得。这里我们梳理下Go当前访问Map的几种方式,并给出实际的测试实例和性能表现。1. 标准库map...
2019-12-30 23:24:06 1213
转载 go语言坑之并发访问map
go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获取、设置和删除这个值,尤其适合数据查找的场景。但是map的使用有一定的限制,如果是在单个协程中读写map,那么不会存在什么问题,如果是多个协程并发访问一个map,有可能会导致程序退出,并打印下面错误信息:fatal error: concurrent ma...
2019-12-30 21:50:25 688
原创 go语言context保存上下文
contxt保存上下文适合全局参数传递,而普通的参数传递就没必要用context,因为不好维护关于context具体用法可以参考:https://studygolang.com/articles/23247?fr=sidebarpackage mainimport ( "context" "fmt")func processPassValue(ctx context.C...
2019-12-25 00:10:24 1130
原创 go语言context超时控制代码示例
package mainimport ( "context" "fmt" "io/ioutil" "log" "net/http" "time")//存储响应结果type Result struct { resp *http.Response err error}func process(){ ctx, cancel := context.WithTimeout...
2019-12-24 23:34:46 405
转载 【golang】序列化例子浅析类属性大小写区别
我们知道Golang里都是通过结构体Struct来定义类和相关属性的。这里有点需要注意的是,属性的首字母大小写表示的意义是不同的!go中根据首字母的大小写来确定可以访问的权限。无论是方法名、常量、变量名还是结构体的名称,如果首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用。可以简单的理解成,首字母大写是公有的,首字母小写是私有的但是这些都不是重点,毕竟这些很多人都知...
2019-12-19 19:17:33 790
转载 MYSQL limit用法优化之分页
1、Mysql的limit用法在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。Sql代码SELECT*FROMtableLIMIT[offset,]rows|rowsOFFSEToffsetSELECT * FROM table LIMIT [offset,] ...
2019-12-17 00:28:12 136
原创 结构体、通道、并发实现生产者消费者
要求:利用生产者消费者实现对一个随机数所有位求和(体现结构体与通道)实现:item结构体存储id与一个随机数,itemChan作为通道存储item结构体result结构体存储item指针与对item的num随机数所有位求和的结果,resultChan作为通道存储result结构体启动两个生产者,利用函数实现自定义启动n个消费者,关键是最后的printResult函数,与通道交流时同...
2019-12-05 01:15:14 163
原创 go的简单并发之goroutine与WaitGroup
WaitGroup跟java的CountdownLatch以及python里的join方法差不多,也是阻塞等待所有任务完成之后再继续执行。WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。WaitGroup总共有三个方法:Add(delta int),Done(),Wait()。简单的说一下这三个方法的作...
2019-11-26 02:10:59 1064
转载 使用haystack实现django全文检索搜索引擎功能
前言django是python语言的一个web框架,功能强大。配合一些插件可为web网站很方便地添加搜索功能。搜索引擎使用whoosh,是一个纯python实现的全文搜索引擎,小巧简单。中文搜索需要进行中文分词,使用jieba。直接在django项目中使用whoosh需要关注一些基础细节问题,而通过haystack这一搜索框架,可以方便地在django中直接添加搜索功能,无需关注索...
2019-11-15 19:09:43 246
转载 基于Django、WeRoBot的微信公众平台开发(二) - 后续
这里是基于Django、WeRoBot的微信公众平台开发(二)的后续,主要记录其它功能的开发。“优美诗句”功能原理:爬取优美诗句,存入数据库,封装接口,调用接口作用:在公众号里回复“来个优美的句子”或者“来句诗”,它便会回复给你一条优美的诗句。过程:实现过程和“讲个笑话”功能类似。1、创建数据库表作用:在数据库(mysql)中创建用于存储诗句的表create ...
2019-11-15 18:53:33 529
转载 基于Django、WeRoBot的微信公众平台开发(二)
上一节的基于Django、WeRoBot的微信公众平台开发(一)中,我在一个Django项目中集成了基于WeRoBot的微信公众号后台,成功与服务器完成了对接,并且可以对用户的任意消息做出响应(回复一个“hello”),简单来说,就是搭建起了一个开发框架。这一节中,我将继续用WeRoBot在这个开发框架上扩展一些功能,让公众号的交互丰富起来,思来想去,我挑了三个相对简单的功能进行实现:简...
2019-11-15 18:51:12 1241 1
转载 基于Django、WeRoBot的微信公众平台开发(一)
* 该教程基于第三方微信公众号开发框架WeRoBot* 该教程在已有Django项目上开发,即在一个已上线网站项目中集成微信公众平台后台* 你需要有一个VPS/云服务器今天突发奇想,打算申请一个微信公众账号玩玩,以便同步博客上的一些文章。由于在学python,于是打算用Python来开发微信公众号的后台。为了方便开发,我在github上寻找微信公众号开发的框架,最后锁定了W...
2019-11-15 18:43:19 1397
转载 基础库httplib2
基础库httplib2一、是什么?httplib2是一个功能强大的网络请求库,其实它和urllib、urllib、requests都是类似的库,安装库pip install httplib2二、怎么用?既然它和其他的请求库类似那么就有着相似的方法,我们一条条来盘点下httplib2的强大方法!1.基本请求import httplib2h = httplib2.Htt...
2019-11-15 18:25:52 582
转载 linux常见目录说明
【常见目录说明】 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。 /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/hom...
2019-11-07 00:51:07 360
原创 gevent并发查询域名
(一)gevent常用方法:gevent.spawn() 创建一个普通的Greenlet对象并切换gevent.spawn_later(seconds=3) 延时创建一个普通的Greenlet对象并切换gevent.spawn_raw() 创建的协程对象属于一个组gevent.getcurrent() 返回当前正在执行的greenletgevent.joi...
2019-11-06 02:53:12 384
转载 python实现八大排序
八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。常见的八大排序算法,他们之间关系如下:排序算法.png他们的性能比较:性能比较.png下面,利用Python分别将他们进行实现。直接插入排序算法思想:直接插入排序.gif直接插入排序的核心思想就是:将数组中的所...
2019-10-31 21:08:22 283
原创 对上传文件的展示、增删重选功能(前后端代码)
代码上传的是Excel,其他文件只需要修改上传类型即可复制代码就可运行目录代码上传的是Excel,其他文件只需要修改上传类型即可(一)效果预览:(二)前端代码(三)后端代码(一)效果预览:1、初次加载2、点击选择文件或重选后3、追加文件4、删除文件,鼠标移上去点击就可删除(二)前端代码<!DOCTYPE html>...
2019-09-29 10:51:41 442
go语言rabbitMQ-practice.rar
2020-01-08
航空公司客户价值分析.rar
2019-05-30
populations.rar
2019-05-28
国民经济核算季度数据.rar
2019-05-28
数字识别.rar
2019-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人