跳到正文
柠檬鱼博客

Go - 如何使用 Resty

Golang

介绍 RESTful API已成为现代Web开发的基石,实现了客户端和服务器之间的无缝通信。在本文中,我们将探索使用Resty这个流行的HTTP客户端库在Go中执行常见操作,如GET、POST、UPDATE和DELETE请求的强大和简单性。我们还将学习如何在请求中传递头部,以便自定义和增强我们的AP…

使用 gg 库实现文本生成

Golang

需求 需要实现一个文本生成器,可以接受以下参数: 文本内容 字体路径 背景图片路径 字体大小 生成的文本需要以背景图片为底,将文本按照指定字体、大小进行绘制。 实现 为了实现上述需求,我使用了go语言中的gg库。gg库是一个轻量级的2D绘图库,提供了简单易用的API,可以方便地进行图形绘制。 具体实…

【设计模式】策略模式实现简单商品打折功能

Golang

需求 作为电子商务网站拥有者,提供产品折扣来吸引和留住客户非常重要。在本博客文章中,我们将探讨如何使用Go语言中的策略模式实现商品的简单打折功能。 实现 策略模式需要先定义一个打折的抽象接口,每一种打折算法都要实现该接口,打折方式分别是正常收费、打折收费和返利收费: package cash // …

【wasm】JS 与 c/c++ 交换数据

WebAssembly

本文讨论如何在编译为WebAssembly模块后的C/C++程序和js之间进行数据交换。本质上js和WebAssembly共享相同的线性内存,这意味着js和WebAssembly可以在同一内存位置读写数据。 从js读取c/c++全局变量 编译后全局变量已经分配好内存,所以可以通过共享线性内存的偏移进…

【设计模式】使用 go 语言实现简单工厂模式

Golang

最近在看《大话设计模式》,这本书通过对话形式讲解设计模式的使用场景,有兴趣的可以去看一下。 第一篇讲的是简单工厂模式,要求输入两个数和运算符号,得到运行结果。 这个需求不难,难就难在类要怎么设计,才能达到可复用、维护性强、可拓展和灵活性高。 运算符可能是加、减、乘、除,未了方便以后可以拓展其它运算符…

【wasm】快速排序,并在小程序引用

WebAssembly

c语言部分 如果功能比较简单,可以直接使用WasmFiddle将 c/c++ 编译成 wasm。这个示例比较简单,先声明一个全局数组变量,由 js 写入和读取该变量。wasm 不仅可以导出函数,也可以从js导入函数,也就是在js实现由c/c++声明的 extern 函数。 // 定义待排序数组的大小…

【算法】字符串平移

算法

需求 我们规定,字符串平移是指将字符串最左边的字符移动到最右边,其他位置的字符保持不变。现在,输入两个字符串,尝试编程判断第2个字符串是否 可以由第1个 字符串平移得到。例如输入“hello”和“llohe”,则需要返回True作为答案,因为将“hello”平移一次将变成“elloh”,再平移一次就…

【算法】查找常用字符

算法

需求 输入一组字符串,将其中的常用字符查找出来,常用字符的定义为:所输入的一组字符串中,所有的字符串中都包含此字符, 则此字符就被定义为常用字符。例如,假设我们输入一组字符串为["ball", "gad", "apple"], 则最终需要返回["a"], 因为只有字符“a”在输入的3个字符串中都出现…

【算法】求最长不含重复字符的子字符串长度

算法

需求 输入一个字符串,尝试编程找到其中最长的不包含重复字符的子字符串,并将其长度返回。例如,输入“aaa”,将返回1作为结果, 输入“abcabcbb”,将返回3作为结果。 思路 本题需要查找的是最长的不含重复字符的子串,首先可以先确定一个起始点,之后计算从此起始点向后截取可以得到的不含重复字符的最…