当前位置: 首页 > news >正文

哪些网站是用php编写的台州网络优化

哪些网站是用php编写的,台州网络优化,wordpress 修改评论框,建设注册中心网站CSDIY#xff1a;这是一个非科班学生的努力之路#xff0c;从今天开始这个系列会长期更新#xff0c;#xff08;最好做到日更#xff09;#xff0c;我会慢慢把自己目前对CS的努力逐一上传#xff0c;帮助那些和我一样有着梦想的玩家取得胜利#xff01;#xff01;这是一个非科班学生的努力之路从今天开始这个系列会长期更新最好做到日更我会慢慢把自己目前对CS的努力逐一上传帮助那些和我一样有着梦想的玩家取得胜利 第一弹Cpp零基础学习【30 DAYS 从0到1】 第二弹Cpp刷题文档【LeetCode】 第三弹Go开发入门【字节后端青训营】 第四弹Cpp简单项目开发【黑马Rookie】 第五弹数据结构绪论【数据结构与算法】 第六弹Go工程实践【字节后端青训营】 1. Go 语言进阶 并发 VS 并行 并发多线程程序在一个核的CPU上运行 并行多线程程序在多个核的CPU上运行可以理解为实现并发的一个手段 Go 可以充分发挥多核优势高效运行 1.1 Goroutine **协程**用户态轻量级线程 栈、KB 级别 **线程**内核态线程跑多个协程 栈、MB 级别 package concurrence // 并发危险乱序输出import (fmtsync )func hello(i int) {println(hello world : fmt.Sprint(i)) }func ManyGo() {var wg sync.WaitGroupfor i : 0; i 5; i {wg.Add(1)go func(j int) {defer wg.Done()hello(j)}(i)}wg.Wait() }1.2 CSP(Communicating Sequential Processes) 提倡通过通信共享内存而不是共享内存来实现通信 1.3 Channel make(chan 元素类型[缓冲大小]) 无缓冲通道make(chan int) 有缓冲通道make(chan int2) package concurrence // 并发安全的例子按序输出func CalSquare() {// 定义无缓冲src : make(chan int)// 定义缓冲dest : make(chan int, 3)go func() {// A协程的功能发送0~9的数字defer close(src)for i : 0; i 10; i {src - i}}()go func() {// B协程的功能计算输入的数字的平方defer close(dest)for i : range src {dest - i * i}}()for i : range dest {// 主协程输出最后的平方数println(i)} }1.4 并发安全 Lock package mainimport (synctime )var (x int64lock sync.Mutex )func addWithLock() {for i : 0; i 2000; i {// 通过锁机制保证并发安全// 获取临界区资源lock.Lock()x 1// 释放临界区资源lock.Unlock()} }func addWithoutLock() {for i : 0; i 2000; i {x 1} }func main() {x 0for i : 0; i 5; i {go addWithoutLock()}time.Sleep(time.Second)// 有可能不会输出期望值println(Without Lock:, x)x 0for i : 0; i 5; i {go addWithLock()}time.Sleep(time.Second)// 输出期望值println(With Lock:, x) }实际开发中避免对共享内存进行非并发安全的读写操作 1.5 WaitGroup 计数器 开启协程1执行结束-1主协程阻塞直到计数器为0. package mainimport (sync )func main() {var wg sync.WaitGroup// 开辟五个协程wg.Add(5)for i : 0; i 5; i {go func(j int) {// 通过 Done 方法进行计数器 -1defer wg.Done()println(goroutine, j, start)}(i)}wg.Wait() }1.6 Go 并发编程小结 GoroutineChannelSync实现并发安全操作和协程间操作 2. Go 依赖管理 学会站在巨人的肩膀上 工程项目不可能基于标准库 0~1 编码搭建0基础开始到1管理依赖库框架、日志、driver等依赖通过sdk方式引入 2.1 Go 依赖管理演进 控制依赖库的版本 GOPATHGo VenderGo Module 不同环境项目依赖的版本不同 2.1.1 GOPATH 是Go语言支持的一个环境变量 src存放 Go 项目源码pkg存放编译的中间产物加快编译速度bin存放 Go 项目编译生成的二进制产物 弊端 如果项目A和项目B同时依赖某一package的不同版本那么GOPATH无法实现package的多版本控制 2.1.2 Go Vender 项目目录下增加vender文件所有依赖包副本形式放在vender依赖寻址方式venderGOPATH 通过每个项目引入一份依赖的副本解决了多个项目需要同一个package依赖的冲突问题 弊端 如果项目A依赖pkg B和C而B和C依赖了D的不同版本通过vender的管理模式不能很好控制对于D的依赖版本更新项目又可能出现依赖冲突导致编译出错 2.1.3 Go Module 通过 go.mod 文件管理依赖包版本通过 go get/go mod 指令工具管理依赖包 终极目标定义版本规则和管理项目依赖关系 2.2 依赖管理三要素 配置文件描述依赖go.mod中心仓库管理依赖库proxy本地工具go get/mod 2.3 2.3.1 依赖管理 - go.mod module example/project/app // 依赖管理基本单元go 1.16 // 原生库require (example/lib1 v1.0.2 // 单元依赖 // 依赖标识[Module Path][Version/Pseudo-version] )2.3.2 依赖配置 - version 两种版本规则语义化版本、基于 commit 伪版本 语义化版本 v{MAJOR不同模块}.{MINOR新增函数功能}.{PATCH修复bug} v1.3.0 基于 commit 伪版本 vX.0.0{和语义化版本一样}-yyyymmddhhmmss{时间戳}-abcdefgh1234{校验码 哈希前缀} 2.3.3 依赖配置 - indirect 用来标识间接依赖 2.3.4 依赖配置 - incompatible 主版本在 2 的依赖会 incompatible 2.3.5 依赖分发 - 回源 - Proxy 代码托管系统Github、SVN、… 无法保证构建稳定性 无法保证依赖可用性 增加第三方压力 Proxy 直接从Proxy拉取依赖稳定可靠。 2.3.6 依赖分发 - 变量 - GOPROXY 2.3.7 工具 - go get go get example.org 2.3.8 工具 - go mod go mod init初始化创建go.mod文件download下载模块到本地缓存tidy增加需要的依赖删除不需要的依赖 3. Go 工程测试 测试就是保证质量 质量就是生命 回归测试回归用户体验 集成测试集成的接口测试 单元测试模块单元测试 从上到下覆盖率逐层增大测试成本逐层降低 3.1 单元测试 3.1.1 单元测试 - 规则 所有测试文件以 _test.go 结尾方便分清源代码和测试代码func TestXxx(*testing.T)初始化逻辑放到 TestMain中 3.1.3 单元测试 - 运行 3.1.5 单元测试 - 覆盖率 已测试代码量 / 总代码量 一般覆盖率50%~60%较高覆盖率80%测试分支相互独立、全面覆盖测试单元粒度足够小函数单一职责 3.2 单元测试 - 依赖 外部依赖 稳定幂等 3.3 单元测试 - 文件处理 对文件 打开关闭操作文件内容替换操作 3.4 单元测试 - Mock 快速 Mock 函数 为一个函数打桩为一个方法打桩 3.5 基准测试 3.5.1 基准测试 - 例子 随机选择执行服务器 3.5.2 基准测试 - 运行 3.5.3 基准测试 - 优化 4. Go 项目实践 4.1 需求描述 展示话题和回帖列表暂不考虑前端页面实现仅仅实现一个本地web服务话题和回帖数据用文件存储 需求用例 用户消费浏览话题和回帖列表 4.3 ER 图 - Entity Relationship Diagram 话题帖子 4.4 分层结构 Repository 数据层数据 Module外部数据的增删查改Service 逻辑层业务 Entity处理核心业务逻辑输出Controller 视图层视图 view处理和外部的交互逻辑 4.5 组件工具 Gin 高性能 go web 框架Go Mod 4.6 Repository 4.7 Service 4.8 Controller 4.9 Router 4.10 运行 碎碎念作业好多啊屁事也好多根本没有成片的时间来好好磨技术…真的老实了再也不选那么多课了课也不想好好听了…我指的是水课。搞得后面的项目都想摆烂了…这样应付大学老师的日子什么时候是个头啊感觉时间都不是自己的…但还是要坚持啊…为了我的BAT梦…
http://www.dnsts.com.cn/news/157841.html

相关文章:

  • 大学课程免费自学网站南京做网站公司 雷仁
  • 青岛做公司网站注册的多吗wordpress %2$s
  • 如何细分行业 做网站赚钱建设工程交易服务网
  • 计算机网站建设维护的基本知识开发平台指什么
  • 营销单页模板网站网站建设和推广话术
  • 网站平台建设实施方案做英文网站的心得
  • 黔南州建设局网站企业网站建设的一般要素主要包括网站的
  • 哪里有做配音的兼职网站移动深圳网站
  • 东莞专业网站建设公司电商网站开发设计
  • 人才交流中心招聘网站建设方案许昌seo公司
  • 做网站公司实力排名c2c的电子商务网站有哪些
  • 天津武清网站开发经典品牌推广文案
  • 门户类网站开发多少钱阿凡达网站设计
  • 网站后台登录地址怎么安全有哪些专做自然风景图片的网站
  • 网站后台文本编辑器广州专业网站设计定制
  • 网站建设服务类型现状邯郸网站建设哪家专业
  • 网站空间ip地址网络营销最火的案例
  • 西安域名注册网站建设wordpress 网站logo
  • 网站系统建设开票要开什么免费好用的网站管理系统
  • 网站建设常见问题小程序多用户商城源码
  • 网站多国语言设计微信到wordpress
  • 开平网站制作网站改版后多久才收录
  • 房地产集团网站欣赏做期权注册网站
  • 杭州 建设网站网站建设168
  • 男男互做网站wordpress英文显示改中文
  • 镇江网站设计公司报价群晖ds218 做网站
  • 乌审旗建设局网站最新传奇手游2022首发排行
  • 东莞专业网站建设怎么做图片网站源码
  • 公司网站需求分析ui设计培训学校哪里好
  • 长沙企业建站做示意图的网站