- 博客(258)
- 资源 (3)
- 收藏
- 关注

原创 Gin框架介绍及使用
Gin是一个用Go语言编写的web框架。它是一个类似于martini但拥有更好性能的API框架, 由于使用了httprouter,速度提高了近40倍。 如果你是性能和高效的追求者, 你会爱上Gin。Gin框架介绍Go世界里最流行的Web框架,Github上有32K+star。 基于httprouter开发的Web框架。 中文文档齐全,简单易用的轻量级框架。Gin框架安装与使用安装下载并安...
2020-03-03 08:31:40
469

原创 Django 必会面试题总结
目录1 列举Http请求中常见的请求方式2 谈谈你对HTTP协议的认识。1.1 长连接3 简述MVC模式和MVT模式4 简述Django请求生命周期5 简述什么是FBV和CBV6 谈一谈你对ORM的理解7 rest_framework 认证组件的流程8 什么是中间件并简述其作用9 django 中间件生命周期10 django中怎么写原生SQL11 如何使用django orm批量创建数据&nbs...
2019-01-01 20:44:52
17370
3
原创 使用delve和coredump对golang进行调试
coredump是一个包含程序意外终止时的内存快照的文件。它可以用于事后调试,以了解崩溃发生的原因以及其中涉及的变量。通过GOTRACEBACK,Go提供了一个环境变量来控制程序崩溃时产生的输出。这个变量可以强制生成coredump,便于调试。让golang程序生成core文件a. ulimit -c unlimited 修改 core 文件的大小b. 环境变量export GOTRACEBACK=crash 说明golang程序产生coredump可以使用gdb对coredump进行查看,delv
2021-08-26 11:35:39
773
原创 vue上传
<template> <div id="app"> <!-- <img alt="Vue logo" src="./assets/logo.png"> --> <!-- <HelloWorld msg="Welcome to Your Vue.js App"/> --> <el-uploa...
2021-07-19 15:00:00
196
原创 mac上安装mysqlclient
https://pypi.org/project/mysqlclient/百度了一堆垃圾资料,实际上官网就有解决方案Project descriptionmysqlclientBuild StatusThis is a fork of MySQLdb1.This project adds Python 3 support and bug fixes. I hope this fork is merged back to MySQLdb1 like distribute was merged
2021-06-30 16:53:20
610
原创 rust error: linking with `cc` failed: exit code: 1
学习rust要记住 编译器永远是对的error: linking with `cc` failed: exit code: 1 | = note: "cc" […] = note: ld: entry point (_main) undefined. for architecture x86_64 clang: error: linker command failed with exit code 1 […]这个错误消息告诉我们,链接器不能找到默认的入口点函数,它被命名
2021-02-23 14:12:23
8224
4
原创 进程、线程、协程的区别?与Goroutine?
进程与线程(隔离与并行)进程进程可看作为分配资源的基本单位。比如你new出了一块内存,就是操作系统将一块物理内存映射到你的进程地址空间上(进程创建必须分配一个完整的独立地址空间),这块内存就属于这个进程,进程内的所有线程都可以访问这块内存,其他进程就访问不了,其他类型的资源也是同理。所以进程是分配资源的基本单位,也是我们说的隔离。线程线程作为独立运行和独立调度的基本单位,进而我们可以认为线程是进程的一个执行流,独立执行它自己的程序代码。线程上下文一般只包含CPU上下文及其他的线程管理信息,线程创建的
2020-12-05 23:05:50
245
原创 知识集锦
Kafka专题:1.kafka高性能的原因高性能包含两个方向写的高性能1)顺序写+page cache2)生产者批量发送消息集,压缩:生产者并不直接将消息发送给服务端,先在客户端把消息放入队列中,然后由一个消息发送线程从队列中拉取消息,以批量的方式发送给服务端。同一个节点上面的不同分区消息会一个批次发送,减少网络发送次数。kafka使用selector处理网络连接与读写处理。读的高性能1)顺序读+Zero copy2)消费者批量拉取(可以指定大小)开发者提升性能的手段1)增加partiti
2020-11-20 23:46:24
281
原创 Go 面试题(附答案解析)
1、写出下面代码输出内容package main import ( "fmt") func main() { defer_call()} func defer_call() { defer func() { fmt.Println("打印前") }() defer func() { fmt.Println("打印中") }() defer func() { fmt.Println("打印后") }() panic("触发异常")}在
2020-11-04 00:00:15
2447
原创 SpringBoot的banner竟然可以用美女图片在线制作,难以相信
一:banner.txt在SpringBoot项目的resources目录下新建一个banner.txt文本文件,然后将启动Banner粘贴到此文本文件中,启动项目即可。二:在线制作banner很多公司的banner为自己公司的名称或者产品名称,所以通过文本获取banner是必要的,这里介绍几个在线制作banner的网站:1. http://patorjk.com/software/taag/Big字体Doom字体2. https://www.bootschool.net/ascii3. http://ww
2020-05-15 19:47:47
5382
原创 go的单元测试驱动开发之web开发的单元测试
程序员开发过程中,最头疼的是bug,那么 有一种方法是单元测试,可以尽可能的减少上线出现故障的概率,什么是 GinGin 是一个用 Golang 写的 http web 框架。这是来自 Gin Github 上的描述。开发环境GoLand 2019.2 EAPGoLang 1.11.5采用 Go Modules 进行管理快速入门用 GoLand 新建项目的时候,我们选择 Go M...
2020-05-03 18:17:11
435
原创 全网最详细的 K8s Service 不能访问排查流程
对于新安装的 Kubernetes,经常出现的一个问题是 Service 没有正常工作。如果您已经运行了 Deployment 并创建了一个 Service,但是当您尝试访问它时没有得到响应,希望这份文档能帮助您找出问题所在。先来熟悉下Service工作逻辑:为了完成本次演练的目的,我们先运行几个 Pod。kubectl run hostnames --image=k8s.gcr.io/s...
2020-04-14 09:13:53
3619
转载 GitBook 从懵逼到入门
GitBook 从懵逼到入门本文从 “是什么”、“为什么”、“怎么办”、“好不好” 四个维度来介绍 GitBook,带你从黑暗之中走出来,get 这种美妙的写作方式。是什么?在我认识 GitBook 之前,我已经在使用 Git 了,毋容置疑,Git 是目前世界上最先进的分布式版本控制系统。我认为 Git 不仅是程序员管理代码的工具,它的分布式协作方式同样适用于很多场合,其中一个就是写作(这...
2020-03-16 22:04:39
288
原创 怎么做代码审查?
代码审查清单:1.代码安全性(最重要)2.代码性能(排第二)3.代码注释4.单元测试代码5.代码优化6.其他代码审查中的坑:1.代码审查应该是日常工作(至少一周一次)2.每次审查的行数不要过多(保持在200-300)3.代码审查时间不要过长(每天一小时为优)4.领导代码审查中不要发火(促进代码规范)...
2020-03-02 22:38:11
318
原创 记录一次perl木马脚本的处理
top 看到服务器有两个ps命令占用cpu高kill -9杀掉然后找到异常的名称的进程pwdx 24412看看这个b在哪个目录中间件老王:cd /tmp/.log_info中间件老王:ll -astrings b中间件老王:cd /tmp中间件老王:先把 50022Xab、b、f、i、p进程杀了然后cd /tmprm -rf .log_info现在服务器恢复...
2020-02-27 13:44:52
907
原创 go 实现定时任务 删除 任务等等
go 实现定时任务InstallationTo download the specific tagged release, run:go get github.com/robfig/cron/v3@v3.0.0Import it in your program as:import "github.com/robfig/cron/v3"It requires Go 1.11 or l...
2020-02-17 20:30:10
2214
原创 xshell 设置右键粘贴
1.打开Xshell,单击菜单栏的Tools(工具),选中Options(菜单),进入参数设置界面。、选择Keyboard and Mouse (键盘和鼠标),把Right-bottox(向右按钮)要素的值选为“Paste the clipboard contents”,点击确定。在选项Copy selected text to the auto (将选定的文本自动复制到剪切板)打“√” 最后...
2020-02-06 11:50:23
295
原创 如何写高大上的 godoc(Go 文档)
godoc 命令和 golang 代码文档管理https://www.jianshu.com/p/b9ce0cbaabd5介绍godoc 是 golang 自带的文档查看器,更多的提供部署服务go doc 和 godoc 在 golang 1.13 被移除了,可以自行安装 golang.org go1.13 godocgo get golang.org/x/tools/cmd/god...
2020-02-05 22:54:31
1586
1
原创 Python模块之Fabric
Fabric简介 Fabric是一个Python库,可以通过SSH在多个host上批量执行任务。你可以编写任务脚本,然后通过Fabric在本地就可以使用SSH在大量远程服务器上自动运行。这些功能非常适合应用的自动化部署,或者执行系统管理任务。官网:http://www.fabfile.org/中文站点:http://fabric-chs.readthedocs.io/zh_CN/chs/...
2020-01-09 22:33:50
354
原创 EMQX docker安装及运行
MQTT学习(六)–各类MQTT代理服务器特性对比(译文)_lordwish的专栏-优快云博客https://blog.youkuaiyun.com/lordwish/article/details/850616875G 时代,万物互联消息引擎 | 全球领先的开源 MQTT 消息服务器 | EMQhttps://www.emqx.io/cn/程序安装 (Installation) — EMQ X - 百...
2020-01-07 22:56:29
1063
原创 docker 安装 zabbix centos7安装zabbix-agent
docker 安装 zabbixZabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。(from Zabbix)Zabbix 作为企业级分布式监控系统,具有很多优点,如:分布式监控,支持 node 和 proxy 分布式模式;自动化注册,根据规则,自动注册主机到监控平台,自动添...
2020-01-05 19:47:31
1985
原创 Go--包引用介绍
Go–包引用介绍最近在学习Go编程,本文简单的叙述如何在Go编程中使用包(包管理)。和其他大多数语言一样,Go也存在包,并使用package关键字定义一个包。首先介绍在程序中如何引入包,引入包有以下几种方式:1. 最简单的方式引入一个包的方式是直接引入包,例如:import "fmt"import "os"2. 也可以通过下面的方式将包一块引入,并写在括号内:inport ("fm...
2020-01-01 20:12:47
525
原创 Kubeadm 部署安装
使用Kubeadm部署k8s集群kubeadm是一个提供了"kubeadm init"和"kubeadm join"最佳实践命令,且用于快速构建一个kubernetes集群的工具,你可以使用此工具快速构建一个kubernetes学习环境。通过本章节的学习,你将能够使用kubeadm工具,成功构建出一个基础的kubernetes集群环境。环境准备Hosts文件准备Docker环境配置其他...
2019-12-31 23:58:38
274
原创 CentOS 6、7 安装 Golang
方法一:使用二进制文件安装 (推荐)1、下载二进制文件:wget https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz2、解压并创建工作目录:tar -zxf go1.7.3.linux-amd64.tar.gz -C /usr/local/mkdir /Golang3、设置环境变量:在 /etc/pro...
2019-10-27 18:11:13
222
原创 Python必会的单元测试框架 —— unittest
用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest。unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那你用unittest来应该是很轻松的,它们的工作方式都差不多。unittest核心工作原理unittest中最核心的四个概念是:test case, test suite, test runner...
2019-10-07 08:38:13
226
原创 python 捕捉警告和错误
警告import warnings warnings.filterwarnings('error') try: ...except warning as e: logger.error(e)错误import warnings warnings.filterwarnings('error') try: ...except Exception a...
2019-09-29 14:51:41
728
原创 微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布
微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。本文的目的就是将目前常用的布署方案做一个总结。一、蓝绿布署Blue/Green Deployment(蓝绿部署)1、定义蓝绿部署是不停老...
2019-09-06 11:52:57
213
原创 JavaScript基础
知识预览BOM对象DOM对象(DHTML)8 实例练习 JavaScript概述 JavaScript的历史1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言)Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape N...
2019-09-01 23:00:32
1153
原创 Python通过psycopg2操作PostgreSQL
说明本文假设已经安装和配置好了PostgreSQL,如果还没有安装和配置PostgreSQL,请移步至我的另一篇博文:Debian8下安装配置PostgreSQL本例中用的操作系统为:Debian GNU/Linux 8.2 (jessie)Python版本为:Python 2.7.9psycopg2的安装Debian下执行以下命令安装 psycopg2:apt-get insta...
2019-08-26 18:34:58
402
原创 kafka实战教程(python操作kafka),kafka配置文件详解
应用往Kafka写数据的原因有很多:用户行为分析、日志存储、异步通信等。多样化的使用场景带来了多样化的需求:消息是否能丢失?是否容忍重复?消息的吞吐量?消息的延迟?kafka介绍Kafka属于Apache组织,是一个高性能跨语言分布式发布订阅消息队列系统[7]。它的主要特点有:以时间复杂度O(1)的方式提供消息持久化能力,并对大数据量能保证常数时间的访问性能;高吞吐率,单台服务器可以达到...
2019-08-23 15:33:58
722
1
原创 shell中脚本参数传递的两种方式
方式一:$0,$1,$2…采用$0,$1,$2…等方式获取脚本命令行传入的参数,值得注意的是,0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用{10},${11}…...
2019-08-20 09:47:27
371
原创 django练习题
django练习题1、Web框架的本质是什么?为什么要有Web框架?所有的Web应用,本质上其实就是一个socket服务端,用户端程序其实就是一个socket客户端。对于真实开发中的python web程序来说,一般会分为两部分:服务器程序和应用程序。服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理。应用程序则负责具体的逻辑处理。为了方便应用程序的开发,就出...
2019-07-29 22:11:00
1685
原创 python笔试题 欢迎转载
第一题题目描述:请编写程序 mv_file_with_sufix.py ,将一个目录 parameter_1 中所有后缀为 parameter_2 的文件移到 parameter_3 目录.运行:python mv_file_with_sufix.py parameter_1 parameter_2 parameter_3其中:parameter_1 : 文件所在目录pa...
2019-07-27 15:14:31
343
原创 Django中model_to_dict使用
推荐一个好用的django方法,用于将model实例转换为dict,命名非常简单粗暴from django.forms.models import model_to_dictdi = model_to_dict(order, exclude=[‘create_time’, ‘update_time’])源码函数声明:def model_to_dict(instance, fields=Non...
2019-07-24 23:10:20
1898
原创 Django REST Framework extensions 配合redis进行缓存
drf-extensions是django中的一个拓展插件,里面的功能繁多,这里我只介绍利用它进行简单快速的缓存.附上drf-extensions的官方文档地址 http://chibisov.github.io/drf-extensions/docs/#cacheresponsemixin配置环境pip install drf-extensionspip install django-r...
2019-05-27 12:48:31
359
原创 django rest framework 自定义异常返回 包含message,code, data, result
自定义Response返回信息,但那个只用于正确的返回success,但是当我们用到了权限auth 401、方法不允许method 405,等等,这时候我们就用自己自定义异常返回信息1、定义settings配置文件#定义异常返回的路径脚本位置REST_FRAMEWORK = { 'EXCEPTION_HANDLER': 'common.utils.custom_execptio...
2019-05-23 23:17:35
5127
原创 Restful API设计规范及实战
Restful API设计规范及实战Restful API的概念在此就不费口舌了,博友们网上查哈定义文章很多,直入正题吧:首先抛出一个问题:判断id为 用户下,名称为 使命召唤14(COD14) 的产品是否存在(话说我还是很喜欢玩类似二战的使命召唤这款额,题外话...)?如果这个问题出现在 MVC 项目中,我想我们一般会这样设计:api/products/isexist/{userId...
2019-05-23 23:07:35
463
原创 Linux 系统资源监控常用命令
Linux 系统由若干主要物理组件组成,如 CPU、内存、网卡和存储设备。要有效地管理 Linux 环境,您应该能够以合理的精度测量这些资源的各种指标 — 每个组件处理多少资源、是否存在瓶颈等。 下面我们介绍下linux资源监控有关的一些命令:内存 : top、free、vmstat、mpstat、iostat、sar 、 pmap CPU : top...
2019-05-18 13:01:49
921
原创 anaconda安装tensorflow
python环境:win10 64下anaconda4.2.0(python3.5)。安装tensorflow过程是在Anaconda Prompt中进行安装1:打开Anaconda Prompt在安装之前,说几个关于conda的小命令conda list:可以显示已经安装好的库。conda install 库名 :可以直接安装想要的库。如:conda install tensorflow...
2019-05-18 12:53:27
320
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人