创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。   简介 [Memcached]是一个自由开源的,高性能,分布式内存对象缓存系统。[Memcached]是一种基于[内存]的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果 docker-compose安装Memcached docker-compose.yml version:'3' services: memcached: image:memcached:1.6.14 containe...

创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。   GO操作Cookie 在日常开发中,经常会用到Cookie存储一些我们需要的信息。 Cookie参数详解 参数 类型 含义 Name string cookie的名称 Value string cookie的值;value值中不允许有空格符的存在,建议在设置时处理下 Path string Cookie的使用路径。如果设置为“/sessionWeb/”,则只有contextPath为“/sessionWeb”的程序可以访问该Cooki...

创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。  方法 1.方法的声明 在函数声明时,在其名字之前加一个变量,既是一个方法。 Example: packagedemo //声明一个正方形结构体 //x,y坐标 typeSquarestruct{ xint yint } //声明一个方法计算Square的面积 func(sSquare)Area()int{ returns.xs.y } (下面这段话出自于《Go语言圣经》) 在上面的代码中,参数s叫做方法的接受器(receiver),在早期的面相对象语言中将调用...

  Eo7GKm3ms3Sh   2023年11月02日   46   0   0 SystemSystemphpphp其他其他GoGo

创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。   如果你使用的是框架,在框架中很好的支持了session的实现。 但如果你没有使用框架,使用的Go原生,那么是不支持Session的实现的。 在Go的标准库中并没有提供对Sessoin的实现。可以自己实现创建管理器存到内存、数据库或者文件当中。当然前提你会写或者有时间去写。小编自己去github上找了一个别人写好的包,拿来直接用 安装 在自己的项目中,执行以下命令安装go-session包 gogetgithub.com/kataras/go-sessions/...

创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。   在实际开发中,经常用到redis来做缓存。 在项目中安装redis的包 gogetgithub.com/go-redis/redis/v8 redis的String操作 set(key,value):给数据库中名称为key的string赋予值value get(key):返回数据库中名称为key的string的value getset(key,value):给名称为key的string赋予上一次的value mget(key1,key2,…,keyN):返...

RabbitMQ与PHP应用 简介 MQ全称为MessageQueue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来连接它们。 消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。 排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。 RabbitMQisamessagebroker:itacceptsandforwardsmessages.Youcanthinkaboutitasaposto...

创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。   Go处理请求参数并响应JSON格式数据 GET和POST是我们最常用的两种请求方式,Go接受GET和POST参数方式。 处理GET请求 接受GET参数 packagemain import( "log" "net/http" ) funcGetHandler(whttp.ResponseWriter,rhttp.Request){ query:=r.URL.Query() //第一种方式 //name:=query["name"][0] ...

  Eo7GKm3ms3Sh   2023年11月02日   58   0   0 JSON数据JSON数据其他其他GoGo

定义 将一个类的接口转接成用户所期待的 优缺点 优点: 客户端通过适配器可以透明地调用目标接口。 复用了现存的类,程序员不需要修改原有代码而重用现有的适配者类。 将目标类和适配者类解耦,解决了目标类和适配者类接口不一致的问题。 在很多业务场景中符合开闭原则。 缺点: 适配器编写过程需要结合业务场景全面考虑,可能会增加系统的复杂性。 增加代码阅读难度,降低代码可读性,过多使用适配器会使系统代码变得凌乱。 结构 类适配器模式和对象适配器模式类适配器类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些 实现对象适配器 代码实现:Tar...

创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。个人博客:太阳上的雨天地址:http://blog.caixiaoxin.cn善于分享,希望有助他人.非常感谢各位大佬的关注和支持 Go语言内置了http包提供了HTTP客户端和服务端的实现通俗一点讲:Go语言可以通过net/http包搭建自己的服务器处理http的请求搭建服务器分为两大种方式:第一种是通过默认多路复用器DefaultServeMux,第二种是通过新建多路复用器NewServeMux的方式。默认多路复用器DefaultServeMux提供了Handle、Ha...

找回Controller、Service、Model、Repository熟悉的感觉 Controller:请求的入口(路由分发映射的文件) Service:业务逻辑处理与数据仓库交互 Model:实体与数据库中的表对应 Repository:数据仓库 环境 Mac mysql5.8 Idea jdk1.8 Maven3.8.6 创建数据库test 导入数据库连接坐标和依赖 pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-j...

建造者模式Builder 指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示(表示好特么抽象,看不懂) 使用场景 当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式(解决的问题,知道什么时候使用) 以房间为例 房间类 packagecom.learn.Builder; publicclassRoom{ privatefinalStringbed;//床必须 privatefinalStringdesk;//梳妆台必须 privatefinalStringwardrobe;//衣柜必须 privatefinalStrin...

代理模式Proxy 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 案例 创建一个Subject接口类 packagecom.learn.Proxy; publicinterfaceSubject{ voidRequest(); } 真实主题,也就是被代理的对象 packagecom.learn.Proxy; publicclassRealSubjectimplementsSubject{ @Override publicvoidRequest(){ Syst...

创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。个人博客:太阳上的雨天地址:http://blog.caixiaoxin.cn善于分享,希望有助他人.非常感谢各位大佬的关注和支持 Go原生提供了连接数据库操作的支持,在用Golang进行开发的时候,如果需要在和数据库交互,则可以使用database/sql包。这是一个对关系型数据库的通用抽象,它提供了标准的、轻量的、面向行的接口。 sql包提供了保证SQL或类SQL数据库的泛用接口。使用sql包时必须注入(至少)一个数据库驱动。 使用的驱动为:github.com/go-...

工厂模式Factory 工厂模式可以根据传入的参数不同返回不同的实例 3.1简单工厂模式 产品接口类 packagecom.learn.Factory.SimpleFactory; publicinterfaceProduct{ } 具体的产品A类 packagecom.learn.Factory.SimpleFactory; publicclassProductAimplementsProduct{ } 具体的产品B类 packagecom.learn.Factory.SimpleFactory; publicclassProductBimplementsPr...

步骤 创建一个Cookie对象写入cookie 设置过期时间 添加到HTTP响应头 获取返回给客户端的Cookie数组 遍历取出每个cookie packagecom.demo; importjavax.servlet.ServletException; importjavax.servlet.http.Cookie; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse;...

抽象工厂模式AbstractFactory 抽象工厂模式其实就是多个工厂方法模式 AbstractFactory抽象工厂类 下述代码是一个抽象工厂类,它的职责是定义每个工厂要实现的功能,有n个产品族,在抽象工厂类中就应该有n个创建方法。这里按上述类图,给出A、B两个产品族,即构造两个方法 packagecom.learn.Factory.AbstractFactory; abstractclassAbstractFactory{ publicabstractProductAcreateProductA(); publicabstractAbstractProductBc...

UDP 画dp被称为用户数据报协议(UDP,UserDatagramProtocol。UDP为应用程序提供了一种无需建立连接就可以发送封装的IP数据包的方法。 使用场景 音视频通话、游戏、工业物联网传感器等 Example udp_server: funcmain(){ listen,err:=net.ListenUDP("udp",&net.UDPAddr{ IP:net.IPv4(0,0,0,0), Port:8888, }) iferr!=nil{ fmt.Printf("Listenudperr:%v",err) return } ...

  Eo7GKm3ms3Sh   2023年11月02日   47   0   0 IPgolangIP网络网络UDPgolangUDP

  在进行TRX转账之前,需要比余额和转账金额的大小.aBalance余额tBlance转账金额同为big.Int类型使用big.Int.Cmp函数 aBalance.cmp(tBlance) 结果:aBalance>tBlance返回1aBalance=tBlance返回0aBalance<tBlance返回-1

Go处理粘包拆包 1.什么是粘包? 发送方发送的若干数据到接受放接受时粘成了一个包。接受方有一个缓冲区,在缓冲区中多条数据连在了一起。 2.粘包发生在哪个协议中? 只有TCP有粘包现象,UDP没有 3.为什么UDP没有粘包想象? 因为UDP无连接的不可靠的传输协议(适合频繁发送较小的数据包),他不会对数据包进行合并发送(也就没有Nagle算法之说了),他直接是一端发送什么数据,直接就发出去了,既然他不会对数据合并,每一个数据包都是完整的(数据+UDP头+IP头等等发一次数据封装一次)也就没有粘包一说 4.TCP为什么会出现粘包想象 TCP(transportcontrolpro...

  站在巨人的肩膀上写代码 c/c作为老大哥,积累了很多优秀的库。Go语言提供了CGO工具支持C语言函数调用,同时也可以将Go语言导出C动态库给其他语言使用。 Go语言如何导出C语言动态库 CGO在使用C/C资源的时候一般有三种形式:直接使用源码;链接静态库;链接动态库 编译和链接参数 这里只做简单的介绍,有兴趣可以深入研究~ 1.调用C语言库 以经典的helloworld为例 packagemain //include<stdio.h> import"C" funcmain(){ C.puts(C.CString("Hello,World\n")) } 2....

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~