积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(56)Go(56)

语言

全部中文(简体)(55)英语(1)

格式

全部PDF文档 PDF(53)其他文档 其他(2)PPT文档 PPT(1)
 
本次搜索耗时 0.054 秒,为您找到相关结果约 56 个.
  • 全部
  • 后端开发
  • Go
  • 全部
  • 中文(简体)
  • 英语
  • 全部
  • PDF文档 PDF
  • 其他文档 其他
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 Go在工程实践的错误处理

    Golang在工程实践中的错误处理 彭友顺 石墨文档 产研负责人 目 录 为什么我们处理错误会这么慢 01 如何完善错误信息 02 优雅处理错误信息 03 分布式错误处理 04 错误信息手册的必要性 05 为什么我们处理错误 会这么慢 第一部分 错误信息不够完善 why 原因 出现 错误 定位 慢 恢复 慢 效率低 为什么我们处理错误会这么慢 错误处理不够优雅 分布式错误难以串联 对接起来会非常麻烦 优雅处理错误信息 第三部分 为什么定位慢?-- 错误处理 不要透传错误 错误码唯一性 记录一次错误 假设用户反馈了无法打开一个文件 我们的程序员非常认真 记录了文件不存在的错误日志 • 同样的错误信息,非常多的杂音 • 每个Error,都去查看一次对应代码,排查效率低 • 占用存储空间 • 最外层入口处只记录一次错误日志 为什么定位慢?-- 错误处理 带来新的问题,无法定位整个代码执行链路 日志分析不出是哪个service 调用了MySQL 为什么定位慢?-- 错误处理 带来新的问题,无法定位整个代码执行链路 不要透传错误 错误码唯一性 记录一次错误 • 不能透传错误,fmt.Errorf • 如果不考虑性能 • 日志开启Stack • 错误追加Stack 为什么定位慢?-- 错误处理 不要透传错误 错误码唯一性 记录一次错误 文件不存在 数据表里不存在
    0 码力 | 30 页 | 3.11 MB | 1 年前
    3
  • pdf文档 go web 框架 严清

    框架要解决三个核⼼心问题 • 定义灵活、⼀一致的开发模式 简单易易上⼿手,⽀支撑⼤大规模复杂应⽤用,⽀支撑团队开发 • 集成简洁、完善的异常处理理能⼒力力 不不被 if err != nil { } 羁绊,不不放过任何异常,优雅漂亮地处理理错误和异常 • 提供强⼤大、实⽤用的 HTTP 操作⽅方法语法糖 写 web 服务就是操作 HTTP,实⽤用语法糖极⼤大提升开发⼈人员的幸福指数 框架核⼼心能⼒力力三要素 Router, Logging, CORS, Favicon, Secure, Static, JWT-Auth, Ratelimiter, Tracing… Gin中间件,error 处理理? type HandlerFunc func(*Context) Echo 中间件,MiddlewareFunc? type HandlerFunc func(Context) error { fmt.Println("C") ctx.JSON(200, someBody) }) // ACB Gin 的中间件流程控制,koa 的洋葱头级联模型 思考:如何进⾏行行异常和错误控制?⽐比如 Auth 中间件⽤用户身份验证失败 Middleware 模式及其控制 Middlewares 的组合:流程之级联控制 app.Use(func(next echo.HandlerFunc)
    0 码力 | 23 页 | 333.12 KB | 1 年前
    3
  • pdf文档 Go Web编程

    web工作方式 3.2 Go搭建一个简单的web服务 3.3 Go如何使得web工作 3.4 Go的http包详解 3.5 小结 4.表单 4.1 处理表单的输入 4.2 验证表单的输入 4.3 预防跨站脚本 4.4 防止多次递交表单 4.5 处理文件上传 4.6 小结 5.访问数据库 5.1 database/sql接口 5.2 使用MySQL数据库 5.3 使用SQLite数据库 5.4 session和cookie 6.2 Go如何使用session 6.3 session存储 6.4 预防session劫持 6.5 小结 7.文本文件处理 7.1 XML处理 7.2 JSON处理 7.3 正则处理 7.4 模板处理 7.5 文件操作 7.6 字符串处理 7.7 小结 8.Web服务 8.1 Socket编程 8.2 WebSocket 8.3 REST 8.4 RPC 8.5 小结 国际化和本地化 10.1 设置默认地区 10.2 本地化资源 10.3 国际化站点 4 10.4 小结 11.错误处理,调试和测试 11.1 错误处理 11.2 使用GDB调试 11.3 Go怎么写测试用例 11.4 小结 12.部署与维护 12.1 应用日志 12.2 网站错误处理 12.3 应用部署 12.4 备份和恢复 12.5 小结 13.如何设计一个Web框架 13.1 项目规划
    0 码力 | 295 页 | 5.91 MB | 1 年前
    3
  • pdf文档 Go 入门指南(The way to Go)

    XML 数据格式 12.11 用 Gob 传输数据 12.12 Go 中的密码学 第13章:错误处理与测试 13.1 错误处理 13.2 运行时异常和 panic 13.3 从 panic 中恢复(Recover) 13.4 自定义包中的错误处理和 panicking 13.5 一种用闭包处理错误的模式 13.6 启动外部命令和程序 13.7 Go 中的单元测试和基准测试 13.8 16.5 不需要将一个指向切片的指针传递给函数 16.6 使用指针指向接口类型 16.7 使用值类型时误用指针 16.8 误用协程和通道 16.9 闭包和协程的使用 16.10 糟糕的错误处理 第 17章 模式 17.1 关于逗号ok模式 第 18章 出于性能考虑的实用代码片段 18.1 字符串 18.2 数组和切片 18.3 映射 18.4 结构体 18.5 接口 18 11 章)。我们会对 Go 语言的函数式和面 向对象编程进行透彻的讲解,包括如何使用 Go 语言来构造大型项目(第 9 章)。 在本书的第三部分,你将会学习到如何处理不同格式的文件(第 12 章)和如何在 Go 语言中巧妙地使用错误处理机 制(第 13 章)。然后我们会对 Go 语言中最值得称赞的设计 goroutine 和 channel 进行并发和多核应用的基 本技巧的讲解(第 14 章)。最后,我们会讨论如何将
    0 码力 | 466 页 | 4.44 MB | 1 年前
    3
  • pdf文档 03. Golang 在隐私计算平台建设中的实践 - 刘敬

    018年年5⽉月正式实⾏行行,加强对欧盟境内居 ⺠民的个⼈人数据和隐私的保护。 2021年年7⽉月,美国统⼀一法律律委员会通过了了《统⼀一个⼈人数据保护法案》(UPDPA),明确 提出了了数据处理理相关禁⽌止⾏行行为,确⽴立了了个⼈人数据保护的重要地位。 国内外纷纷出台了了围绕数据使⽤用和保护的公共政策 2021年年6⽉月10⽇日,《中华⼈人⺠民共和国数据安全法》在⼗十三届全国⼈人⼤大常委会正式颁布。 03.统⼀一异常处理理 参与⽅方掉线和流程异常时任务⾃自动终⽌止 04.主动终⽌止算法 基于元函数出⼊入参类型,算法流程⾃自组 织执⾏行行,框架可介⼊入控制 05.解耦算法流程和⽹网络io ⽆无需再关注⽹网络通信 06.声明式的算法嵌套 ⽆无需关注嵌套算法的调⽤用时机,框架⾃自 动触发调⽤用 本地计算 元函数 嵌套调⽤用其他算法 元函数 接 ⼝口 算法流程 异常处理理 … 隐私计算算法框架-元函数异步执⾏行行实现 通过反射call元函数,由于是独⽴立协程,在⽣生产环境下,需要开启recover 趣链科技版权所有©2016 – 2021 27 隐私计算算法框架-⽹网络消息处理理 由于元函数的⼊入参中包含由其他参与⽅方发送来的数据,框架需要实现⾃自动将收到的消息 反序列列化并缓存,否则⽆无法进⼊入到元函数调度流程注并⼊入到元对应函数的⼊入参中 趣链科技版权所有©2016
    0 码力 | 37 页 | 6.20 MB | 1 年前
    3
  • pdf文档 Go 入门指南(The way to Go)

    章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 Go 语言来构造大型项目(第 9 章)。 在本书的第三部分,你将会学习到如何处理不同格式的文件(第 12 章)和如何在 Go 语言中巧妙地使用 错误处理机制(第 13 章)。然后我们会对 Go 语言中最值得称赞的设计 goroutine 和 channel 进行并发 和多核应用的基本技巧的讲解(第 14 章)。最后,我们会讨论如何将 。很庆幸 Stroustrup 做了让 C++ 兼容 C 语言以能够让其编译 C 程序这个正确的决定。我们当时需要 C++ 的出 现。” “之后我们学到了更多。我们毫无疑问地接受了垃圾回收,异常处理和虚拟机这些当年人们认为只有疯子 才会想的东西。C++ 的复杂程度(新版的 C++ 甚至更加复杂)极大了影响了软件开发的高效性,这使得 它再也不再适合这个时代。人们不再像过往那样认同在 C++ 来实现各个 goroutine 之间的通信。他们实现了分段栈增长和 goroutine 在线程基础上多路复用技术的自动化。 这个特性显然是 Go 语言最强有力的部分,不仅支持了日益重要的多核与多处理器计算机,也弥补了现存 编程语言在这方面所存在的不足。 Go 语言中另一个非常重要的特性就是它的构建速度(编译和链接到机器代码的速度),一般情况下构建 一个程序的时间只需要数百毫秒到几秒。作为大量使用
    0 码力 | 380 页 | 2.97 MB | 1 年前
    3
  • pdf文档 Go基础语法宝典

    goroutine channels Buffered Channels Range和Close Select 超时 runtime goroutine 错误处理 Error类型 自定义Error 错误处理 总结 更多Golang资源包:https://github.com/0voice/Introduction-to-Golang 关键字 Go语言设计的关键字,了解这些关键字有助于命名变量的冲突避免 ` ` 括起的字符串为 Raw`字符串,即字符串在代码中的形式就是打印时的形式,它没有字符转义,换行 也将原样输出。例如本例中会输出: 错误类型 Go内置有一个 error 类型,专门用来处理错误信息,Go的 package 里面还专门有一个包 errors 来处 理错误: 分组声明 在Go语言中,同时声明多个常量、变量,或者导入多个包时,可采用分组的方式进行声明。 例如下面的代码: “多值返回”, 而对于“声明而未被调用”的变量, 编译器会报错, 在这种情况下, 可以使用 _ 来丢 弃不需要的返回值 例如 switch 有些时候需要写很多的 if-else 来实现一些逻辑处理,这个时候代码看上去就很丑很冗长,而且也不易 于以后的维护,这个时候 switch 就能很好的解决这个问题。它的语法如下 sum := 1 for sum < 1000 { sum +=
    0 码力 | 47 页 | 1020.34 KB | 1 年前
    3
  • pdf文档 微服务容灾治理

    那我们想想,如果我们的服务CPU被打满了,是不是后⾯所有的请求也都被卡住了?等服务处理完请 求的时候,⽤⼾那⾥可能已经超时离开了,结果服务器很忙,但都是做的⽆⽤功。如果这⾥不能理 解,停下来好好思考⼀番,如果还不懂的话,可以来go-zero群⾥讨论讨论。。。 2.1模拟CPU密集型服务 有⼈可能会问CPU密集型服务怎么定义?你的服务CPU会打满吗?处理请求会包含复杂的计算逻辑 吗?你经常需要通过c 上模拟CPU负载的请求处理代码。 模拟CPU计算的代码:https://gist.github.com/kevwan/ccfaf45aa190ac44003d93c094a12c3f benchmarkCPU-103303600743ns/op 从 benchmark 结果可以看出单个请求的逻辑处理需要3.6msCPU资源(不包括服务端中间件处理 消耗  • 可以看到系统总共只处理了⼤概500qps的请求,其中400qps多⼀点是成功的,近100qps是超 时的(返回了503状态码) • 随着请求的堆积,很快就会⼤量请求都超时了,并且p99,甚⾄p90都已经超过1s了 • 这⾥进⼀步解释⼀下,超时的请求意味着对系统资源的浪费,⽐如接受到⼀个请求,花了不少cpu 时间处理完了,然后返回结果时,发现请求已经超
    0 码力 | 13 页 | 1.68 MB | 1 年前
    3
  • pdf文档 3.云原生边云协同AI框架实践

    App Unseen Task Detect ① 基于N个历史任务,完成云端知识库初 始化 ② 基于云端知识库,学习当前边侧任务 ③ 基于当前边侧任务,更新云端知识库 ④ 重复步骤2-3以处理M个未来任务 Cloud 任务模型 任务样本 1 2 3 4 N个历史任务 当前任务 M个未来任务 知识库 边云协同终身学习: 云侧知识库记忆,解决新情景下数据异构和小样本 NewUpstreamController():【5】创建UpstreamController,每个GM进程有 一个UpstreamController - uc.Run(stopCh):启动一个for循环协程,来处理 - pkg/globalmanager/controllers/upstream.go/syncEdgeUpdate() - NewRegistry():【6】注册所有controller。 pkg/globalmanager/controllers/lifelonglearning/upstream.go/updateFromEd ge() - f.Run()【9】Controller核心处理逻辑 - ws.ListenAndServe() 【10】 整体的初始化逻辑。 【1】main函数入口 func main() { rand.Seed(time.Now().UnixNano())
    0 码力 | 37 页 | 2.36 MB | 1 年前
    3
  • pdf文档 Go可观测性实践

    微服务业务架构图 项目工程layout 遥测数据处理架构 链路追踪 第二部分  无所不在的部署  持续监控  低消耗  应用级透明  延展性 链路追踪设计目标 链路追踪 Dapper 每个请求都生成一个全局唯一的 traceid,端到端透传到上下游所有节点,每一层生成一个 spanid, 通过traceid 将不同系统孤立的调用日志和异常信息串联一起,通过 spanid 和 parentid 执行时长:每个Span都必须记录工作开始到结束时花费的时长。 Go工程插桩(Instrument) 需要对业务开发者几乎零成本的接入链路追踪,几乎完全依赖于少量通用组件库的改造。 当一个请求在处理跟踪控制路径的过程中,需要把跟踪的上下文存储在ThreadLocal中,在Go中 就是存储在Context中,一般约定每个方法第一个参数为Context(上下文)。 覆盖组件不限于:数据库、缓存、消息队列、RPC、HTTP等。 效果, TraceContext就是一个Context上下文对象。 Inject Extract 数据流转 使用Collector的好处在于一些 计算操作可以再Collector中统 一处理,一些逻辑如压缩、过滤、 配置变更等可以集中到 Collector中实现,服务只需要 实现很薄的一层埋点、采样逻辑 即可,这也能使得链路追踪对业 务服务本身的影响降到最低。 链路追踪分析
    0 码力 | 35 页 | 2.88 MB | 1 年前
    3
共 56 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
前往
页
相关搜索词
Go工程实践错误处理错误处理goweb框架严清Web编程入门指南Thewayto03Golang隐私计算平台建设刘敬基础语法宝典服务容灾治理原生边云协同AI观测
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩