02 2024 档案
摘要:本文讨论了四种主要的 API 架构风格,比较它们的优缺点,并重点介绍每种情况下最适合的 API 架构风格。 两个单独的应用程序需要中介程序才能相互通信。因此,开发人员经常需要搭建桥梁——也就是应用程序编程接口(API),来允许一个系统访问另一个系统的信息或功能。 为了快速、大规模地集成不同的应用程序
阅读全文
摘要:参考来源:https://www.youtube.com/watch?v=IvsANO0qZEg RPC RPC=remote procedure call,执行远程服务器上的一个function,举例:服务端定义了三个函数: 客户端发起请求 RPC在一些大公司中依然被使用。RPC的优点有: 设计简
阅读全文
摘要:SQL以及优化的策略 一、什么是慢SQL ? 分析MySQL语句查询性能的方法除了使用 EXPLAIN 输出执行计划, 还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询” 慢查询日志就是记录这些sql的日志。 【查看/设置】“慢查询”的时间定义: sho
阅读全文
摘要:大家好,今天给各位小伙伴带来的是测试工程师常用的10个python库,相信有些小伙伴肯定知道一些库,也使用过一些库。下面我们就来聊聊这常用的10个python库,我们主要介绍这些库和这些库的一些应用场景,方便没有接触过的小伙伴知道这些库的作用。 个人认为以下10个库是测试工程师最常用的库。 os s
阅读全文
摘要:回文数就是指整数倒过来和原整数相等。 1 2 3 4 Example 1: Input: 121 Output: true 1 2 3 4 5 Example 2: Input: -121 Output: false Explanation: From left to right, it reads
阅读全文
摘要:在日常编程过程中,我们经常需要在一个比较大的文件中定位到某一行进行修改或查看。在Linux系统中,有很多种方法可以实现这个操作,例如使用文本编辑器、grep命令等。本文将从多个角度分析如何在Linux中跳转到文件指定行。 一、使用vim编辑器 vim是Linux系统中一个非常常用的文本编辑器,它有很
阅读全文
摘要:使用脚本统计字符串出现次数 #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'` echo "IP地址:"$IP # 获取cpu总核数 cpu_n
阅读全文
摘要:今日分享一些Python常用的东西,整理一些小笔记,比如Faker的使用,panda的使用 一、faker库--造假数据能手 简介 测试工作中,经常会遇到需要制造大量测试数据的时候,如果手动造数据必然会浪费大量时间 Faker是一个制造数据的强大的python库,可以制造姓名、电话、身份证、地址、邮
阅读全文
摘要:1、介绍 本文旨在探讨目前流行的三种项目构建工具,ant、maven、gradle,对于深入的使用和原理层面不做讨论。学习目的是,了解这三者的异同和各自的思想。 2、Apache Ant 最初,Make是唯一的构建自动化工具,它超越了自制的解决方案。Make从1976年就出现了,因此,在Java早期
阅读全文
摘要:前言 做性能验证往往需要去监控系统的各项性能指标,Linux系统监控工具有很多,但对于命令行操作,安装便捷,监控项较全面等方面,个人比较推荐tsar tsar 介绍 TSAR(Taobao System Activity Reporter))是淘宝自己开发的采集工具。 主要用来收集服务器的系统信息(
阅读全文
摘要:channel死锁 package main import "fmt" func main() { ch := make(chan string) for i := 0; i < 10; i++ { s := <- ch fmt.Println(s) } go func(ch chan string
阅读全文
摘要:Select select作用Go里面提供了一个关键字select,通过 select 可以监听 channel 上的数据流动。 单流程下⼀个go只能监控⼀个channel的状态,select可以完成监控多个channel的状态 有时候我们希望能够借助channel发送或接收数据,并避免因为发送或者
阅读全文
摘要:1、定义channel变量 channel是Go语言中的一个核心类型,可以把它看成管道。 并发核心单元通过它就可以发送或者接收数据进行通讯,这在一定程度上又进一步降低了编程的难度。 channel是一个数据类型,主要用来解决go程的同步问题以及go程之间数据共享(数据传递)的问题。 goroutin
阅读全文
摘要:Go并发 Go 在语言级别支持协程,叫goroutine。Go 语言标准库提供的所有系统调用操作(包括所有同步IO操作) 都会出让CPU给其他goroutine。这让轻量级线程的切换管理不依赖于系统的线程和进程,也不需要依赖于CPU的核心数量。 有人把Go比作21世纪的C语言。第一是因为Go语言设计
阅读全文
摘要:1、goroutine调度机制 协程并发协程:coroutine。也叫轻量级线程。与传统的系统级线程和进程相比,协程最大的优势在于“轻量级”。可以轻松创建上万个而不会导致系统资源衰竭。 而线程和进程通常很难超过1万个。这也是协程别称“轻量级线程”的原因。一个线程中可以有任意多个协程,但某一时刻只能有
阅读全文
摘要:编程语言中反射的概念在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。 也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination), 并能根据自身行为的状态和结果,调整 或 修改应用所描述行为的状态和相关的语义。每种语
阅读全文
摘要:5、defer defer语句被用于预定对一个函数的调用。可以把这类被defer语句调用的函数称为延迟函数。 defer的实际应用场景, 例如defer语句会将其后的函数调用推迟到当前函数执行结束时执行。这个特性常用于处理成对的操作,如打开/关闭文件、获取/释放锁、连接/断开连接等,确保资源被适当地
阅读全文
摘要:1、从一个main函数初见golang语法 package main import "fmt" func main() { /* 简单的程序 万能的hello world */ fmt.Println("Hello Go") } 终端运行 $ go run test1_hello.go Hello
阅读全文
摘要:golang的优势 一、极其简单的部署方式 1、可直接编译成机器码 2、不需要依赖其他库 3、直接运行即可部署 二、静态语言类型 可在编译的时候检查出大多隐藏问题 三、语言层面的并发 1、天生的基因支持 2、充分利用多核 package main import ( "fmt" "time" ) fu
阅读全文
摘要:Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ Go官网:https://golang.org/ golang在Windows安装和配置 可看链接:https://blog.csdn.net/weixi
阅读全文
摘要:一、引言 学习前置要求 1、具备1种后端编程语言开发经验(C/C++/Java/Python/PHP等) 2、具备基本的网络编程能力和并发思想 3、了解计算机基本体系结构 4、了解Linux基础知识 非0基础 后端工程师快速了解Golang而设计 建立快速了解Golang语言及特点的捷径学习路线,可
阅读全文
摘要:https://gitee.com/didiopensource/sharingan
阅读全文