• 2024-11-13Rust 在 Android 的编程实践——技术驱动的车云一体化解决方案探索
    Greptime车云一体化解决方案颠覆了从前传统的车云协同模式,采用更加低成本、高效率的方案来满足当前的市场需求。其中GreptimeDBEdge作为核心组件,专为车机环境量身打造。本文旨在详尽探讨在Android平台利用Rust语言进行开发过程中所积累的经验和教训。交叉编译在车机场景
  • 2024-11-12使用pgrx开发postgre插件
    pg插件开发建议在linux环境下进行,windows可以采用虚拟机的方式开发.安装虚拟机环境准备虚拟机,使用的是ubuntu22.04,太新的版本会依赖拉取有问题安装开发工具和依赖:​sudoapt-getupdatesudoapt-getinstall-ygitclanggccmakebuild-essentiallibz-devzlib1g-
  • 2024-11-11golang异常处理trycatch,确保系统不崩溃
    packagemainimport(  "fmt"  "os"  "os/signal"  "syscall")functest0(){  deferfunc(){    ifr:=recover();r!=nil{//捕获panic      fmt.Printf("CaughtintryCatch:%v\n&q
  • 2024-11-10Rust 在 Android 的编程实践——技术驱动的车云一体化解决方案探索
    Rust在Android的编程实践——技术驱动的车云一体化解决方案探索Greptime车云一体化解决方案颠覆了从前传统的车云协同模式,采用更加低成本、高效率的方案来满足当前的市场需求。其中GreptimeDBEdge作为核心组件,专为车机环境量身打造。本文旨在详尽探讨在Android平台利用
  • 2024-10-19Golang笔记_day09
    Go面试题(二)1、怎么做代码优化减少内存分配        内存分配是任何程序的基本操作之一,也是一个明显的性能瓶颈。在Golang中,减少内存分配是一种有效的代码优化方式。为了减少内存分配,我们可以使用以下技巧:复用变量:在循环或迭代过程中,尽量避免重新分配变量。通过在循
  • 2024-10-14(转)探索 Go 语言的内建函数 recover
    原文:https://blog.csdn.net/qq_35240081/article/details/140758441在Go语言中,recover是一个内建函数,用于从panic状态中恢复执行。recover只能在延迟函数(defer)中使用,如果没有panic被触发,recover返回nil。本文将详细介绍recover函数的使用场景和示例。recover函数的
  • 2024-09-30LInux基础——裸金属主机重装系统进入kernel Panic
    裸金属主机重装系统进入kernelPanic1、问题描述       租户裸金属主机重装系统,重启后进入”endKernelpanic–notsyncing:Fatalexception”; 2、问题分析  i.内存问题(非此类问题,忽略)     按照问题描述内核回退Calltrace是__pte_alloc内核物理内存调
  • 2024-09-28soft-lockup时在console打印stack
    有时softlockup之后整台机器就没有响应了,在console不断有这些消息被打印出来:[492.400124]watchdog:BUG:softlockup-CPU#5stuckfor22s!但是并没有打印出stack,导致不知道在哪里stuck住了。注意到如果是panic的话stack就会在console被打印出来。所以如果要让softlock
  • 2024-09-20gin错误处理,和事务处理
    packagemainimport( "fmt" "github.com/gin-gonic/gin" _"github.com/go-sql-driver/mysql" "gorm.io/driver/mysql" "gorm.io/gorm" "net/http")varDb*gorm.DBtypeDade1struct{ Idint
  • 2024-09-15php和go进行跨进程fifo通信
    fifo的文件需要提前建立好,或者用程序处理php<?php$fifoName="my_fifo";//打开命名管道进行读取$fifo=fopen($fifoName,"r+");if($fifo===false){die("UnabletoopenFIFO:$fifoName");}//读取数据$data=fread($fifo,1024);echo"Re
  • 2024-08-30Go 语言生产服务故障案例精析
            大多数Go开发者都停留在简单的增删改查层面,对Go语言本身掌握程度不够,对常用依赖或者开源组件掌握不够,在开发项目过程中总会不经意间引入一些千奇百怪的问题,并且在遇到线上问题时往往束手无策。下面列举一些线上问题以及相应的解决思路,希望大家能从这些问题
  • 2024-08-30Go,你也可以的!-【7.2 panic】
    7.2panicpanic就是Go语言中的崩溃,崩溃也就是程序不可用,这在实际的业务中基本是最严重的BUG。在大部分语言中,产生崩溃的原因基本是差不多的,大多都是访问了空指针、数组越界、内存溢出等。基本可以总结为,发生崩溃都是与系统进行了非法的内存或资源操作。本节代码存放目录
  • 2024-08-22安防视频监控EasyCVR视频汇聚平台出现代码层面报错“panic:runtime error”的原因排查与解决
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T28181协议、部标JT808、GA/T1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等。有用户反馈,启动EasyCVR
  • 2024-08-08Golang 中 defer panic recover 简单使用
    Golangdefer、panic、recoverdeferdefer语句用于延迟执行一个函数调用,直到包含该defer语句的函数执行完毕。defer语句通常用于释放资源、关闭文件、解锁互斥锁等操作。defer语句的执行顺序是后进先出,即最后被defer的语句最先执行。例如:funcmain(){deferfmt.Pr
  • 2024-07-28go语言签发和验证license
    生成非对称密钥packagemainimport( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "os")//MakePem生成PEM文件funcMakePem(){ //生成RSA密钥对 privateKey,err:=rsa.GenerateKey(rand.Reader,204
  • 2024-07-150182-独立可执行程序
    环境Time2022-11-12WSL-Ubuntu22.04QEMU6.2.0Rust1.65.0前言说明参考:https://os.phil-opp.com/freestanding-rust-binary目标当前为新的篇章,参考的原文第二版,和之前的第一版不关联。使用Rust编写一个独立可执行程序,即不依赖操作系统的程序。其中的概念和错误的
  • 2024-07-0907 移除标准库依赖
    改造Rusthelloworld移除println!宏rustc添加对裸机的支持rustuptargetaddriscv64gc-unknown-none-elfdetailrustup:是Rust语言的工具链管理器,允许你安装和管理多个Rust版本以及相关工具。它还使切换编译目标变得简单,这对于跨平台开发特别有用。targetadd:这是rust
  • 2024-05-14TEE 开发 opteeos panic 排查方法
    如果遇到bl32panic,如果能明显感觉到错误的发生位置,可以使用加EMSG打印的方式debug 但是遇到压测的时候发生的panic,这样是低效的,而且加上log还会影响时序,影响压测结果。下面给出一个终极debug方式,这样的判断panic发生的函数位置,百试不爽。举例:[266.388550][0T45
  • 2024-05-13Go语言异常处理:自定义错误【errors.New+panic】
    程序本身抛出的异常信息不是太友好,我们可以自定义错误或者异常的信息,需要使用errors包中的New函数来包装一下异常或错误信息;在使用内置函数panic(err),把异常信息后面的程序执行终止掉,因为再执行后面的程序也没有意义了。 packagemainimport"fmt"import"errors"funcma
  • 2024-04-30Go语言系列——自定义错误、panic和recover、函数是一等公民(头等函数)、反射、读取文件、写入文件
    文章目录31-自定义错误使用New函数创建自定义错误使用Errorf给错误添加更多信息使用结构体类型和字段提供错误的更多信息使用结构体类型的方法来提供错误的更多信息32-panic和recover什么是panic?什么时候应该使用panic?panic示例发生panic时的deferrecoverpanic,re
  • 2024-04-21Kernel panic - not syncing: Out of memory: system-wide panic_on_oom is enabled
    内存不足,导致Java 进程被杀掉。 [1534.300650]Kernelpanic-notsyncing:Outofmemory:system-widepanic_on_oomisenabled[1534.301803]CPU:5PID:2930Comm:javaKdump:loadedTainted:GO5.10.0-60.18.0.50.r1083_58.hce2.x86_64#1[153
  • 2024-04-14原来Rust的panic也能被捕捉?浅谈Rust的panic机制
    这一系列文章的创作目的主要是帮助我自己深入学习Rust,同时也为已经具备一定Rust编程经验,但还没有深入研究过语言和标准库的朋友提供参考。对于正在入门Rust的同学,我更建议你们看《Rust圣经》或者《TheBook》,而不是这种晦涩难懂的文章。你用过panic!宏吗?在Rust里,panic!宏可以用
  • 2024-04-04golang 接口类型断言失败时,有哪些方式可以优雅地处理panic?
    在Go语言中,接口类型断言失败会导致运行时panic。为了避免程序因为类型断言失败而意外终止,可以采取以下几种优雅处理panic的方法:1.使用recover函数recover函数可以用来捕获panic,并从中恢复。这通常与defer语句一起使用。在进行类型断言的代码块之后,可以添加一
  • 2024-04-02linux ops panic 解析和定位
    一、oops输出解析https://zhuanlan.zhihu.com/p/680156398Oops信息包含以下几部分内容:一段文本描述信息,比如类似“UnabletohandlekernelNULLpointerdereferenceatvirtualaddress00000000”的信息,它说明了发生的是哪类错误。Oops信息的序号,比如是第1次、第2
  • 2024-03-27【go从入门到精通】函数详解
    作者简介:    高科,先后在 IBMPlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。 (谢谢你的关注)---------------