积分充值
 首页
前端开发
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文库
  • 综合
  • 文档
  • 文章

无数据

分类

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

语言

全部中文(简体)(40)

格式

全部PDF文档 PDF(38)其他文档 其他(2)
 
本次搜索耗时 0.085 秒,为您找到相关结果约 40 个.
  • 全部
  • 后端开发
  • Go
  • 全部
  • 中文(简体)
  • 全部
  • PDF文档 PDF
  • 其他文档 其他
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 GoFrame框架介绍及设计

    GoFrame框架介绍及设计 郭强 成都医联科技 架构师 目 录 框架介绍 01 模块化设计 02 统一框架设计 03 代码分层设计 04 对象封装设计 05 DAO封装设计 06 未来发展规划 07 框架介绍 第一部分 • 框架介绍 • 框架架构 • 项目初心 框架介绍 GoFrame是一款模块化、高性能、企业级的Go基础开发框架。 • 模块化、松耦合 • 模块丰富、开箱即用 实现数据的增删改查等操作,并将操作结果反馈到业务逻辑层 BLL。 模型定义层 - Model 也常用Entity实体对象来表示,主要用于数据库表的映射对象。 代码分层设计-项目代码结构 对象封装设计 第五部分 • 包与对象封装 • 资源明明规范 • 对象封装示例 • 对象访问安全 对象封装设计-包与对象封装 痛点: • 没有代码分层设计,代码耦合高 • 单包职责过大,维护成本高 • 包命名困难,易出现重复包名, 代码分层设计,降低代码耦合 • 功能逻辑按照对象封装,细化封 装粒度,降低单包职责 • 规避了同名包名的问题 • 规避了 cycle import 问题 常见项目架构示例2 常见项目架构示例1 对象封装改进 对象封装设计-资源命名规范 在三层架构设计模式下,我们的业务包命名 仅会有 api、dao、model、service四个包。 每个业务包仅对外暴露 实例化的对象 用于 该业务领域的具体功能逻辑封装,同一层级
    0 码力 | 37 页 | 8.84 MB | 1 年前
    3
  • pdf文档 Go 入门指南(The way to Go)

    倡通过接口来针对面向对象编程,通过 goroutine 和 channel 来支持并发和并行编程。 这本书是为那些想要学习 Go 这门全新的,迷人的和充满希望的编程语言的开发者量身定做的。当然,你 在学习 Go 语言之前需要具备一些关于编程的基础知识和经验,并且拥有合适的学习环境,但你并不需要 对 C 或者 Java 或其它类似的语言有非常深入的了解。 对于那些熟悉 C 或者面向对象编程语言的开发者,我们将会在本书中用 或者面向对象编程语言的开发者,我们将会在本书中用 Go 和一些编程语言的相关概念进 行比较(书中会使用大家所熟知的缩写 “OO” 来表示面向对象)。 本书将会从最基础的概念讲起,同时也会讨论一些类似在应用 goroutine 和 channel 时有多少种不同的模 Go入门指南 - 1 - 本文档使用 看云 构建 式,如何在 Go 语言中使用谷歌 API,如何操作内存,如何在 Go 语言中进行程序测试和如何使用模板来 Go 语言的核心思想,譬如简单与复杂类型(第 4、7、8 章), 控制结构(第 5 章),函数(第 6 章),结构与方法(第 10 章)和接口(第 11 章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 Go 语言来构造大型项目(第 9 章)。 在本书的第三部分,你将会学习到如何处理不同格式的文件(第 12 章)和如何在 Go 语言中巧妙地使用 错误处理机制(第
    0 码力 | 380 页 | 2.97 MB | 1 年前
    3
  • pdf文档 Go 入门指南(The way to Go)

    Sorter 接口排序 11.8 第二个例子:读和写 11.9 空接口 11.10 反射包 11.11 Printf 和反射 11.12 接口与动态类型 11.13 总结:Go 中的面向对象 11.14 结构体、集合和高阶函数 第12章:读写数据 12.1 读取用户的输入 12.2 文件读写 12.3 文件拷贝 12.4 从命令行读取参数 12.5 用 buffer 读取文件 中的许多语法风格。它提倡通过接口来针对面向 对象编程,通过 goroutine 和 channel 来支持并发和并行编程。 这本书是为那些想要学习 Go 这门全新的,迷人的和充满希望的编程语言的开发者量身定做的。当然,你在学习 Go 语言之前需要具备一些关于编程的基础知识和经验,并且拥有合适的学习环境,但你并不需要对 C 或者 Java 或其 它类似的语言有非常深入的了解。 对于那些熟悉 C 或者面向对象编程语言的开发者,我们将会在本书中用 或者面向对象编程语言的开发者,我们将会在本书中用 Go 和一些编程语言的相关概念进行比较 (书中会使用大家所熟知的缩写 “OO” 来表示面向对象)。 本书将会从最基础的概念讲起,同时也会讨论一些类似在应用 goroutine 和 channel 时有多少种不同的模式, 如何在 Go 语言中使用谷歌 API,如何操作内存,如何在 Go 语言中进行程序测试和如何使用模板来开发 Web 应 用这些高级概念和技巧。 在本书的第一部分,我们将会讨论
    0 码力 | 466 页 | 4.44 MB | 1 年前
    3
  • pdf文档 Go基础语法宝典

    ,即改为指针类型,才能在函数中修改 x 变量的值。此时 参数仍然是按copy传递的,只是copy的是一个指针。请看下面的例子 这样,就达到了修改 x 的目的。那么到底传指针有什么好处呢? 传指针使得多个函数能操作同一个对象。 传指针比较轻量级 (8bytes),只是传内存地址,可以用指针传递体积大的结构体。如果用参数值传递 的话, 在每次copy上面就会花费相对较多的系统开销(内存和时间)。所以当要传递大的结构体的 形,现在想要计算他的面积,那么按照一般的思 路应该会用下面的方式来实现 这段代码可以计算出来长方形的面积,但是area()不是作为Rectangle的方法实现的(类似面向对象里面 的方法),而是将Rectangle的对象(如r1,r2)作为参数传入函数计算面积的。 这样实现当然没有问题,但是当需要增加圆形、正方形、五边形甚至其它多边形的时候,想计算他们的 面积的时候怎么办?那就只能增加新 面积的时候怎么办?那就只能增加新的函数,但是函数名就必须要跟着换了,变成 area_rectangle, area_circle, area_triangle... 椭圆代表函数, 而这些函数并不从属于struct(或者以面向对象的术语来说,并不属于class),他们是单独 存在于struct外围,而非在概念上属于某个struct的。 很显然,这样的实现并不优雅,并且从概念上来说"面积"是"形状"的一个属性,它是属于这个特定的形状
    0 码力 | 47 页 | 1020.34 KB | 1 年前
    3
  • pdf文档 Go Web编程

    与工作空间 1.3. Go 命令 1.4. Go开发工具 1.5. 小结 2.Go语言基础 2.1. 你好,Go 2.2. Go基础 2.3. 流程和函数 2.4. struct 2.5. 面向对象 2.6. interface 2.7. 并发 2.8. 小结 3.Web基础 3.1 web工作方式 3.2 Go搭建一个简单的web服务 3.3 Go如何使得web工作 3.4 Go的http包详解 Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。 Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感 觉起来比典型的面向对象语言更轻量级。 Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。 按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。 Go是一种编译型语言,它结合了解释型语言的游刃有余 fmt.Println("x = ", x) // 应该输出 "x = 4" } 这样,我们就达到了修改x的目的。那么到底传指针有什么好处呢? 57 传指针使得多个函数能操作同一个对象。 传指针比较轻量级 (8bytes),只是传内存地址,我们可以用指针传递体积大的结构体。如果用参数值传递的 话, 在每次copy上面就会花费相对较多的系统开销(内存和时间)。所以当你要传递大的结构体的时候,用
    0 码力 | 295 页 | 5.91 MB | 1 年前
    3
  • pdf文档 Go性能优化概览-曹春晖

    了解常⻅的⽹络协议(http、pb) https://github.com/bagder/http2-explained https://github.com/bagder/http3-explained 逃逸分析 ⽤户声明的对象,被放在栈上还是堆上, 是由编译器的 escape analysis 来决定的 ⽅法论 内存使⽤优化 CPU 使⽤优化 阻塞优化 GC 优化 标准库优化 runtime 优化 应⽤层优化 阻塞导致⾼延迟 还有⼀些公司的 metrics 系统设计,本机上会有 udp 通信 阻塞导致⾼延迟 锁瓶颈的⼀般优化⼿段: • 缩⼩临界区:只锁必须锁的对象,临界区内尽量不放慢操作,如 syscall • 降低锁粒度:全局锁 -> 对象锁,全局锁 -> 连接锁,连接锁 -> 请求锁,⽂ 件锁 -> 多个⽂件各种锁 • 同步改异步:如同步⽇志 -> 异步⽇志,若队列满则丢弃,不阻塞业务逻辑 使⽤太⾼了-GC 使⽤ CPU 过⾼ https://github.com/glycerine/offheap • 可以将变化较少的结构放在堆外 • 通过 cgo 来管理内存 • 让 GC 发现不了这些对象 • 也就不会扫描了 Off heap 也可以减少 Go 进程的内存占⽤和内存使 ⽤波动,但要⽤到 cgo https://dgraph.io/blog/post/manual-memory
    0 码力 | 40 页 | 8.69 MB | 1 年前
    3
  • pdf文档 2-6-Golang 在 Baidu-FrontEnd 的应用-陶春华

    经验公式:10万对象1ms 扫描时间 –1个tcp连接,约10个对象=> 1万连接,1ms gc延迟 • GO-BFE的实时需求 –请求的处理延迟 平均1ms以内,最大10ms • 实测 –100万连接,400ms gc延迟 GC优化思路 • Go的gc算法(go1.3) –Mark and Sweep:大量时间时间用于扫描对象 • 常规手段的核心:减少对象数 –小对象合并成大对象 • • 利用Array来合并一组对象(内部对象计数为1) – 把数据放到C代码里面,通过cgo做接口使用 –对象复用 (对象池) –深度优化系统结构和算法 通过Array减少引用计数 OBJ1 OBJ2 OBJ3 OBJ1 OBJ2 OBJ3 困境 • 减小对象数的困境 –常态下需要保持几十万的连接 => 几十个ms –修改golang网络库,重写基本数据结构 • 不使用让go管理内存 不使用让go管理内存 –通过Cgo手工维护,很危险 (go中调用c代码) –不能解决问题:大量go对象难以避免 车轮大战! 轮转GC方案 • 基本思路 –关闭GC –多进程轮流工作 • 单进程状态 –服务态 –等待态 –垃圾回收状态 GC优化 – 多进程配合 技术细节 • 本质上:多个进程监听同一个端口 –高版本linux直接支持 –低版本linux方案 • 父进程Listen • 子进程Accept
    0 码力 | 35 页 | 730.17 KB | 1 年前
    3
  • pdf文档 Hello 算法 1.2.0 简体中文 Go 版

    。 ‧ 源代码可一键运行,帮助读者在练习中提升编程技能,了解算法工作原理和数据结构底层实现。 ‧ 提倡读者互助学习,欢迎大家在评论区提出问题与分享见解,在交流讨论中共同进步。 0.1.1 读者对象 若你是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 不会之间反复横跳,那么本书正是为你量身定制的! 如果你已经积累一定的刷题量,熟悉大部分题型,那 hello‑algo.com 42 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文数据。系统在每次调用函数时都会在栈顶部创建一个栈帧,函数 暂存数据(常量) b := 0 // 暂存数据(变量) newNode(0) // 暂存数据(对象) c := function() // 栈帧空间(调用函数) return a + b + c // 输出数据 } 2.4.2 推算方法 空间复杂度的推算方法与时间复杂度大致相同,只需将统计对象从“操作数量”转为“使用空间大小”。 而与时间复杂度不同的是,我们通常只关注最差空间复杂度。这是因为内存空间是一项硬性要求,我们必须
    0 码力 | 384 页 | 18.49 MB | 10 月前
    3
  • pdf文档 Hello 算法 1.0.0b5 Golang版

    Java、C++、Python、Go、JS、TS、C#、Swift、Rust、Dart、Zig 等 语言。 ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 读者对象 若您是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 不会之间反复横跳,那么这本书正是为您量身定制! 如果您已经积累一定刷题量,熟悉大部分题型,那么 hello‑algo.com 40 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文数据。系统在每次调用函数时都会在栈顶部创建一个栈帧,函数 暂存数据(常量) b := 0 // 暂存数据(变量) newNode(0) // 暂存数据(对象) c := function() // 栈帧空间(调用函数) return a + b + c // 输出数据 } 2.4.2 推算方法 空间复杂度的推算方法与时间复杂度大致相同,只需将统计对象从“操作数量”转为“使用空间大小”。 而与时间复杂度不同的是,我们通常只关注最差空间复杂度。这是因为内存空间是一项硬性要求,我们必须
    0 码力 | 379 页 | 30.70 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.1.0 Go版

    JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 读者对象 若你是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 不会之间反复横跳,那么本书正是为你量身定制的! 如果你已经积累一定的刷题量,熟悉大部分题型,那 hello‑algo.com 42 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文数据。系统在每次调用函数时都会在栈顶部创建一个栈帧,函数 暂存数据(常量) b := 0 // 暂存数据(变量) newNode(0) // 暂存数据(对象) c := function() // 栈帧空间(调用函数) return a + b + c // 输出数据 } 2.4.2 推算方法 空间复杂度的推算方法与时间复杂度大致相同,只需将统计对象从“操作数量”转为“使用空间大小”。 而与时间复杂度不同的是,我们通常只关注最差空间复杂度。这是因为内存空间是一项硬性要求,我们必须
    0 码力 | 383 页 | 18.48 MB | 1 年前
    3
共 40 条
  • 1
  • 2
  • 3
  • 4
前往
页
相关搜索词
GoFrame框架介绍设计Go入门指南Thewayto基础语法宝典Web编程性能优化概览春晖GolangBaiduFrontEnd应用春华Hello算法1.2简体中文简体中文1.00b51.1
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩