• 2024-11-16gofiber: 使用模板
    一,安装模板库$gogetgithub.com/gofiber/template/html/v2go:downloadinggithub.com/gofiber/template/html/v2v2.1.2go:downloadinggithub.com/gofiber/utilsv1.1.0go:addedgithub.com/gofiber/template/html/v2v2.1.2go:addedgithub.com/gofiber/utilsv1.1.0
  • 2024-11-16go fiber:发生内部错误时统一返回json格式
    一,文档地址:https://learnku.com/docs/gofiber/2.x/error-handling/11732二,当出错时,使进程不退出1,现象go代码:func(dc*UserController)GetUser(c*fiber.Ctx)error{ varzint=0 variint=100/z fmt.Println("i:%i",i) //处理获取用户的逻辑 returnc.Sen
  • 2024-11-16go fiber: controller返回json格式
    一,代码:1,controller/articleController.gopackagecontrollerimport( "github.com/gofiber/fiber/v2" "industry/config")typeArticleControllerstruct{}funcNewArticleController()*ArticleController{ return&ArticleController{
  • 2024-11-16go fiber:使用独立的routes文件组织controller
    一,go代码:controller/articleController.gopackagecontrollerimport"github.com/gofiber/fiber/v2"typeArticleControllerstruct{}funcNewArticleController()*ArticleController{ return&ArticleController{}}func(dc*ArticleController)
  • 2024-11-16go fiber:全局中间件添加排除的path
    一,代码:全局中间件对所有的api生效,如果有个别不想应用全局中间件的api,则需要从代码中进行排除:例如:支付宝或微信的回调接口packagemiddlewareimport( "fmt" "github.com/gofiber/fiber/v2""regexp")funcApiSign(c*fiber.Ctx)error{//得到当前url
  • 2024-11-16go fiber: 把异常信息写到错误日志中
    一,代码:1,userBusiness.gopackagebusinessimport("fmt")//得到多个用户,按分页返回funcGetUserList(pageint,pageSizeint)(string,error){b:=0a:=100/bfmt.Println(a)return"1,2,3",nil}代码中包含有除0错,会引发panic2,userControlle
  • 2024-11-16go fiber: 增加访问日志accesslog
    一,代码这里我们使用官方提供的github.com/gofiber/fiber/v2/middleware/logger这个现成的中间件官方文档地址:https://docs.gofiber.io/api/middleware/logger/routes.gopackageroutesimport( "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/
  • 2024-11-16go fiber: 多个全局中间件的执行顺序
    一,代码:middleware.gopackagemiddlewareimport( "fmt" "github.com/gofiber/fiber/v2")funcMiddle1(c*fiber.Ctx)error{ fmt.Println("middle1before") err:=c.Next() fmt.Println("middle1after") returnerr}
  • 2024-11-16go fiber:路由中间件
    一,目录结构:二,代码1,中间件代码packagemiddlewareimport( "fmt" "github.com/gofiber/fiber/v2" "industry/config")//token校验funcCheckUser(c*fiber.Ctx)error{ token:=c.Query("token") fmt.Println("token:"
  • 2024-11-15go fiber: 抛出自定义异常
    一,代码:1,自定义错误类:packageconfigimport("fmt")//定义错误代码和错误信息typeMyErrorstruct{CodeintMsgstring}//需要定义通用的Error()方法func(eMyError)Error()string{returnfmt.Sprintf("Code:%d,Msg:%s",e.Code,e.M
  • 2024-11-09go: 安装第三方库/web框架go fiber
    一,官网https://gofiber.io/中文文档:https://docs.fiber.org.cn/二,初始化项目:$gomodinitmyfibergo:creatingnewgo.mod:modulemyfibergo:toaddmodulerequirementsandsums:gomodtidy查看内容:$morego.modmodulemyfibergo1.23.3三,安装g
  • 2024-10-22Qwik-能帮你移出项目中99%的JS代码
    本文分享自天翼云开发者社区《Qwik-能帮你移出项目中99%的JS代码》,作者:尹****勇什么是QwikQwik是一款全栈SSR框架,它号称 -能帮你移出项目中99%的JS代码-FCPFCP(FirstContentPaint首次内容绘制)测量 页面从开始加载到页面内容的任何部分在屏幕上完成渲染的时间现在基本
  • 2024-10-15Three.js 我的互动花园
    这个项目展示了作者在一个独特的互动花园场景中的作品。场景中的每个模型都是作者使用Blender制作的,整个体验通过ReactThreeFiber(r3f)得以实现。作品是一个使用ReactThreeFiber(r3f)构建的个人作品集。ReactThreeFiber是一个用于在React中创建和渲染3D图
  • 2024-10-10通信接入技术
    一、xDSL1、xDSL:利用电话线中的高频信息传输数据,高频信号损耗大,容易受噪声干扰。【速率越高,传输距离越近】1.1ADSL虚拟拨号:采用专门的协议PPPoverEthernet,拨号后直接由验证服务器进行检验,用户需输入用户名和密码,检验通过后就建立起一条高速的用户数字并分配相应的动态IP。
  • 2024-10-07React Fiber 原理
    ReactFiber在React16之前的版本对比更新VirtualDOM的过程是采用Stack架构实现的,也就是循环加递归,这种方式的问题是一旦任务开始进行就无法被中断。如果应用中的组件数量庞大,VirtualDOM的层级比较深,主线程被长期占用,知道整颗VirtualDOM树比对更新完成之后主线程才
  • 2024-10-05react 之 fiber 架构
    一、为什么要用fiber架构在react16之前,react是用 diff算法对vitrulDom进行对比更新渲染,这种diff算法对比如果遇到需要大量时间执行的方法任务时,就会造成页面卡顿二、什么是fiber架构fiber架构简单点说就是任务切片(一个耗时任务在浏览器空闲时,分多次执行),这样就在
  • 2024-09-21Suspense and Fiber- The Intricate Machinery Behind React&#s Rendering Elegance
    reactfiber是react并发渲染的核心,它使框架能够将任务分解为更小的单元,并优先处理更重要的任务,从而实现更流畅、响应更灵敏的用户界面。当与suspense配合使用时,它允许react“暂停”渲染,在等待数据获取或计算等任务完成时显示后备ui。fiber是一个javascript对象,代表rea
  • 2024-09-10【学习】【React】一文带你深入了解React的运行原理 走进200万工程师的技术圣地
    原创前端欧巴前言React作为前端开发中非常流行的JavaScript库,以其高效、灵活的特性受到了广大开发者的青睐。了解React的运行原理,对于提升开发效率和性能优化至关重要。本文将深入探讨React的运行原理,从初始化、渲染、Diffing算法、Fiber架构到最终的DOM更新,
  • 2024-09-09React diff算法原理
    React使用一种称为“Reconciliation”的过程来确定虚拟DOM树中的哪些部分发生了变化,从而最小化实际DOM更新的工作量。这个过程的核心是实现了一个高效的diff算法,通常被称为“Fiber”机制的一部分。虽然它并不完全等同于经典的diff算法(如Myers’diffalgorithm
  • 2024-09-07react 学习之从diff children看key的合理使用
    大部分优化环节react都自己在内部处理了,但有一种情况也值得开发者注意,那就是列表中key的使用,合理的使用key有助于能精确的找到用于新旧节点复用的老节点。那么我们这里来学习下react是如何diffchildren的,从源码的角度看。用几个案例来描述ReactdiffChild核心流程,react在一次更
  • 2024-08-16React 中执行的 DOM 操作
    新增/插入对于需要新增/插入的节点,React会对workInProgressfiber.flags执行按位或Placement的操作。表示该fiber节点需要执行插入的操作。执行插入的主要方法是commitPlacement。在该方法中会根据当前Fiber节点是否存在兄弟Fiber节点判断要调用哪种方法。如果
  • 2024-08-13React Diff
    ReactDiff流程前提在React的render阶段的beginWorl方法中对于update的组件会通过reconcileChildFibers方法将当前组件与该组件在上次更新时对应的Fiber节点进行比较(即diff算法),将比较的结果生成新的Fiber节点,即创建workInProgressfiber的过程。其中,在某一时刻,一个DOM节点最多
  • 2024-08-09React原理之React整体渲染流程
    前置知识:深度优先搜索(DFS)、Fiber节点在上一篇React原理篇之React整体架构解读中,提到了Fiber架构中的几个核心概念:Scheduler(调度器):根据任务的优先级安排任务执行顺序。Reconciler(协调器):根据新旧虚拟DOM树的差异确定需要更新的部分。Renderer(渲染器):将更新的虚拟
  • 2024-07-29mitk-diffusion
    DWIDenoisingThisviewprovidesseveralmethodstodenoisediffusion-weightedimages.Simplyselecttheimagetodenoiseandpressthestartbutton.Thedefaultparametersshouldworkrelativelywell.TheNLMmethodisbyfartheslowest。该视图提供了几种对
  • 2024-07-24PHP现代化构建工具: 无需修改任何代码和扩展将你的ThinkPHP项目性能提高20倍
    我要分享一个令人激动的黑科技:PRipple使用这个项目能够在无需修改任何代码且无需第三方扩展的前提下,将你的Laravel项目性能提高20倍。他仅仅依赖于PHP原生的pcntl/posix/fiber/sockets项目灵感这个项目灵感来源于PHP8.1引入的fiber特性,以及Swoole和Workerman的