《🌹从零开发短视频电商》
文章平均质量分 83
最近跳槽到一家创业公司,准备做电商多商户商城系统开发,记录学习、开发、运维、上线等遇到的种种问题
lakernote
不停的复盘自己,砥砺前行,不忘初衷
展开
-
从零开发短视频电商 端到端测试Playwright实战CSDN搜索
由于在没有额外同步的情况下从多个线程使用相同的 Playwright 对象是不安全的,因此我们建议您为每个线程创建 Playwright 实例并专门在该线程上使用它。**保存上下文的身份验证状态并在所有测试中重用它。这绕过了每个测试中的重复登录操作,但提供了独立测试的完全隔离。我们建议在新的 BrowserContext 中运行每个测试用例,这样浏览器状态将在测试之间隔离。如果生成器找到与定位器匹配的多个元素,它将改进定位器,使其具有唯一标识目标元素的弹性。将包含您可以在测试中重用的存储状态。原创 2024-03-06 09:34:12 · 975 阅读 · 0 评论 -
从零开发短视频电商 Nginx一个域名部署多个VUE前端
打开 Nginx 的配置文件。修改完成后,保存并关闭配置文件。原创 2024-02-18 23:08:55 · 709 阅读 · 0 评论 -
从零开发短视频电商 Tesseract OCR识别增强
还有第三个存储库,https://github.com/tesseract-ocr/tessdata, 其模型支持Tesseract 3传统OCR引擎和Tesseract 4 LSTM OCR引擎。还可以将单词添加到 Tesseract 用于帮助识别的单词列表中,或者添加常见的字符模式,如果您对期望的输入类型有很好的了解,这可以进一步帮助提高准确性。在Tesseract版本3.05(以及更早版本)中,处理反转图像(暗色背景和亮色文本)时没有问题,但在4.x版本中,请使用亮色背景上的暗色文本。原创 2024-01-26 23:27:45 · 1153 阅读 · 0 评论 -
从零开发短视频电商 PaddleOCR Java推理 (五)ONNXRuntime引擎推理
python文本检测:https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/model_zoo/ocr/utils/predict_det.py。python文本识别:https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/model_zoo/ocr/utils/predict_rec.py。提示:一开始将两者都设置为1以查看性能。方法二:离线转换,pip安装工具,即可本地转换使用。原创 2024-01-17 14:37:43 · 1408 阅读 · 0 评论 -
从零开发短视频电商 PaddleOCR Java推理 (四)优化OCR工具类
【代码】从零开发短视频电商 PaddleOCR Java推理 (四)优化OCR工具类。原创 2024-01-15 23:17:31 · 864 阅读 · 0 评论 -
从零开发短视频电商 PaddleOCR Java推理 (三)优化文本检测模型输入和输出
值得注意的是,PaddleOCR的模型更新速度远远快于DJL,这导致了一些DJL的优化滞后问题。因此,我们需要采取一些策略来跟上PaddleOCR的最新进展。表示网络输入图像的最长边不能超过960, 如果超过这个值,会对图像做等宽比的resize操作,确保最长边为。如果输入图片的分辨率比较大,而且想使用更大的分辨率预测,可以设置。PaddleOCR提供了一系列测试图片,你可以通过点击。为正整数,一般设置为32 的倍数,比如960。则表示限制图像的最短边为960。来对图片的尺寸进行限制,原创 2024-01-15 17:09:35 · 822 阅读 · 1 评论 -
从零开发短视频电商 PaddleOCR Java推理 (二)优化 识别模型 Translator模型输入和输出
值得注意的是,PaddleOCR的模型更新速度远远快于DJL,这导致了一些DJL的优化滞后问题。因此,我们需要采取一些策略来跟上PaddleOCR的最新进展。PaddleOCR提供了一系列测试图片,你可以通过点击。的识别模型使用的输入形状为。默认的识别模型算法可以在。的识别模型默认使用的。这里有很多过时的了。我们就来优化这2点。原创 2024-01-14 22:05:17 · 832 阅读 · 0 评论 -
从零开发短视频电商 PaddleOCR Java推理 (一)飞桨引擎推理
GithubDJL在Java中,我发现两种主要的方式可以使用PaddleOCR。在此,我们不考虑通过Java进行本地部署服务的方式,而专注于两种更具可行性的方法。原创 2024-01-12 15:33:12 · 2281 阅读 · 2 评论 -
从零开发短视频电商 Tesseract OCR 的 Java 拓展库 javacpp-presets
项目地址:https://github.com/bytedeco/javacpp-presetsJavaCPP 是一个用于在 Java 中使用本地库的工具,它允许通过 Java 代码访问本地(C/C++)库,而无需编写过多的本地代码。这种方法可以使 Java 与其他语言编写的库进行集成,提供了对性能关键的原生功能的访问。JavaCPP 使用 Java 注解和本地代码生成,使得在 Java 中调用本地代码变得相对容易。原创 2024-01-09 13:23:11 · 2051 阅读 · 0 评论 -
从零开发短视频电商 爬虫在爬取时注意 robots.txt 和 sitemap.xml
robots.txt和。这两个文件提供了关于网站爬取行为和结构的重要信息。原创 2023-12-28 13:55:40 · 2451 阅读 · 1 评论 -
从零开发短视频电商 Sagemaker端点模型部署方式
分为两种模型托管方式单一模型端点多模型端点将多个模型托管在一个容器内,通过一个端点提供服务多模型端点提供了一种可扩展且成本效益的解决方案,用于部署大量模型。它们使用相同的资源池和共享的服务容器来托管所有模型。与使用单一模型端点相比,这降低了托管成本,因为提高了端点利用率。同时,由于Amazon SageMaker管理内存中的模型加载和根据端点的流量模式进行扩展,这也减少了部署的开销。以下图示说明了多模型端点与单一模型端点的工作方式的对比。原创 2023-12-27 14:02:54 · 397 阅读 · 0 评论 -
从零开发短视频电商 SageMaker实时推理实例和费用
注意每个region价格不一样。示例为:美东2-俄亥俄的价格主要找的都是CPU 4核原文:https://aws.amazon.com/cn/sagemaker/pricing/原创 2023-12-26 14:29:47 · 459 阅读 · 0 评论 -
从零开发短视频电商 在AWS上SageMaker部署模型自定义日志输入和输出示例
从零开发短视频电商 在AWS上用SageMaker部署自定义模型都是huaggingface上的模型或者fine-tune后的。为了适配jumpstart上部署的模型的http输入输出,我在自定义模型中自定义了适配的输入输出,可以做到兼容适配。原创 2023-12-22 11:24:32 · 2020 阅读 · 0 评论 -
从零开发短视频电商 在AWS上用SageMaker部署自定义模型
这个可以是java环境或者python环境。部署的都是从huggingface上的model或者根据huaggingface上的model进行fine-tune后的。",","refund","legal","faq"所有官方示例推理工具允许用户覆盖的默认方法。您需要创建一个名为code/的文件夹,其中包含文件。目录结构如下|- ....|- code/文件包含自定义推理模块,文件包含应添加的其他依赖项。覆盖加载模型的默认方法。返回值model将在predict中用于预测。原创 2023-12-20 13:01:11 · 1350 阅读 · 0 评论 -
从零开发短视频电商 OpenSearch/Elasticsearch 聚合操作
OpenSearch不仅仅是用于搜索的工具。聚合使您能够利用OpenSearch强大的分析引擎分析数据并从中提取统计信息。聚合的用例各异,从实时分析数据以采取某些行动,到使用OpenSearch仪表板创建可视化仪表板。OpenSearch可以在毫秒内对大规模数据集执行聚合。与查询相比,聚合消耗更多的CPU周期和内存。先来个总结表格:默认情况下,OpenSearch不支持在文本字段上进行聚合。因为文本字段被标记化,对文本字段的聚合必须将标记化过程反转回其原始字符串,然后基于此进行聚合。这种操作消耗大量内存并降原创 2023-12-14 22:25:04 · 1743 阅读 · 0 评论 -
从零开发短视频电商 OpenSearch/Elasticsearch 查询总结
OpenSearch 和 Elasticsearch 都是搜索和分析引擎,它们使用相似的查询语言。查询可以分为不同的类型,通常包括以下几类:查询语言一般用DSL和DQL。原创 2023-12-14 15:30:24 · 1543 阅读 · 1 评论 -
从零开发短视频电商 Java开发者的AI大模型(LLM)应用开发和设计-LangChain4j
GithubJava版langchain, 利用LLMs的力量增强你的java应用程序。该项目的目标是简化 AI/LLM 功能到 Java 应用程序的集成。一个简单且连贯的抽象层,旨在确保您的代码不依赖于具体实现,例如 LLM providers, embedding store providers,等。这允许轻松替换组件。上述抽象的多种实现,为您提供了多种 LLMs 和嵌入存储可供选择。获取您自己的数据own data(文档、代码库等)的能力,允许LLM 根据您的数据采取行动和做出响应。原创 2023-12-13 16:19:20 · 4634 阅读 · 2 评论 -
从零开发短视频电商 使用Jsoup进行HTML爬取解析与操作
jsoup 是一个 Java 库,可简化实际 HTML 和 XML 的使用。它提供了一个易于使用的 API,用于使用 DOM API 方法、CSS 和 xpath 选择器进行 URL 获取、数据解析、提取和操作。jsoup 实现了 WHATWG HTML5 规范,并将 HTML 解析为与现代浏览器相同的 DOM。抓取从 URL、文件或字符串中抓取并解析 HTML查找使用 DOM 遍历或 CSS 选择器查找并提取数据操作操作 HTML 元素、属性和文本清理。原创 2023-12-12 20:35:15 · 1274 阅读 · 0 评论 -
从零开发短视频电商 OpenSearch/ElasticSearch中数据类型介绍
在这种情况下,由于你不关心评分,而只关心筛选出年龄大于30岁的学生,使用过滤(Filter)通常会更快。在这个示例中,查询阶段找到包含指定字段和值的文档,然后过滤阶段通过范围条件筛选出那些日期在指定范围内的文档。类型是一个简单的嵌套对象,可以包含其他字段,但是这些字段是平等的,没有特定的关系。类型用于嵌套复杂结构的文档,并建立了父子关系,允许在子文档中使用独立的查询。适用于表示具有层次结构和相互关联的文档,如文章的评论、订单的商品列表等。适用于表示简单嵌套结构的文档,其中字段之间没有复杂的关联。原创 2023-12-11 21:17:50 · 1238 阅读 · 0 评论 -
从零开发短视频电商 用Java框架部署模型并推理 - Deep Java Library (DJL)
DJL 在 Java 中提供与 Hugging Face Tokenizers 支持的相同功能。以下代码显示了如何加载 Hugging Face 中的模型以及如何完成标记化。这里使用的模型为:distilbert-multilingual-nli-stsb-quora-ranking。模型带有特定的标记器,它提供不同的标记字典并转换不同标记中的单词和句子。选择引擎,必须将其添加到 Java 类路径中,即添加对应的 Maven 依赖。基本模型库,基本模型包中提供与引擎无关的。,可以很方便的加载使用内置模型。原创 2023-12-09 23:46:06 · 2695 阅读 · 0 评论 -
从零开发短视频电商 Low Level Client(推荐)连接OpenSearch进行CRUD
嗅探器利用RestClient提供的定期机制(默认定期时间为5min),从集群中获取当前节点的列表,通过调用RestClient类中的setNodes方法来更新。ES允许用户自由选择要连接的节点,通过初始化客户端来配置节点选择器,以便筛选节点。因为证书问题,我们用的是测试环境,就不要费劲的去下载私有证书再安装了,直接配置opensearch支持http即可。在默认情况下,客户端以轮询的方式将每个请求发送到配置的各个节点中。配置后,对于每个请求,客户端都通过节点选择器来筛选备选节点。或者直接禁用安全插件。原创 2023-12-09 20:45:41 · 521 阅读 · 0 评论 -
从零开发短视频电商 AWS OpenSearch Service开发环境申请以及Java客户端介绍
快速的在AWS上申请一个低成本的Opensearch service用于开发阶段的联调测试,对步骤做了详细的记录和截图,同时还介绍了多种方式用java去连接opensearch去操作数据和索引原创 2023-12-08 17:26:36 · 2397 阅读 · 1 评论 -
从零开发短视频电商 在AWS SageMaker已创建的模型列表中进行部署
4.点击 “创建端点” 选项或者点击 “创建端点配置” 选项都可以进行部署。2.在 SageMaker 控制台的左侧导航栏中,选择 “模型” 选项。3.在模型列表中,找到您要部署的模型。1.导航到 SageMaker 控制台。5.在配置端点页面,您需要指定。选择创建端点进去后还是会进行。6.继续在配置端点页面,指定。9.去端点处查看启动情况。原创 2023-12-07 16:57:59 · 913 阅读 · 0 评论 -
从零开发短视频电商 Jmeter压测示例模板详解(无认证场景)
你可以设置一个基础定时器和一个随机范围,以便每个请求之间有一些随机的等待时间,通常添加在需要模拟用户请求之间的时间间隔的位置,常见的情况是将定时器添加在HTTP请求之前,以模拟用户在执行不同操作之间的停顿。响应断言是最常用的一种断言方法,主要是对响应结果中的文本内容进行断言,比如响应结果是否包含指定的值,或者是否等于指定的值。请注意,在进行实际的性能测试时,由于监听器会占用一些资源,建议在测试结束后禁用或删除不需要的监听器,以避免影响测试性能。常用的断言类型,它们分别用于验证不同方面的请求响应。原创 2023-12-06 22:50:55 · 1057 阅读 · 0 评论 -
从零开发短视频电商 JMH压测真实示例DEMO
Dead-Code Elimination (DCE) ,即死码消除,编译器非常聪明,有的代码没啥用,就在编译器被消除了,但这给我做基准测试带了一些麻烦,比如上面的代码中,baseline 和 measureWrong 有着相同的性能,因为编译器觉得 measureWrong这段代码执行后没有任何影响,为了效率,就直接消除掉这段代码,但是如果加上return语句,就不会在编译期被去掉,这是我们在写基准测试时需要注意的点。如果你的初始化操作,是和方法相关的,那最好使用 Invocation 级别。原创 2023-12-06 15:57:56 · 517 阅读 · 0 评论 -
从零开发短视频电商 在AWS上用SageMaker部署开源模型并用Java SDK调用
这里有很多源Huggingface,TensorFlow,PyTorch等,其内置了很多热门模型。使用AWS ApiGateway + AWS Lambda。以下内容都在 sagemaker studio里。,选择针对单个用户设置即可,然后等个几分钟。然后到aws上自己去注册就行了。这里包含了很多Java SDK调用示例。注册AWS账号,并且绑定信用卡。1.登录后在控制台中搜索。,等待5-10分钟即可。在studio中配置。原创 2023-12-01 17:53:06 · 1207 阅读 · 1 评论 -
从零开发短视频电商 OpenSearch k-NN插件
k-NN 插件引入了自定义数据类型knn_vector,它允许用户将其 k-NN 向量提取到 OpenSearch 索引中并执行不同类型的 k-NN 搜索。knn_vector字段是高度可配置的,可以服务于许多不同的 k-NN 工作负载。Mapping映射参数必需的默认可更新描述nametruen/afalse最近邻方法的标识符。hnsw、ivf(需要训练),一般都是选hnswspace_typefalsel2false用于计算向量之间距离的向量空间类型。原创 2023-11-29 15:08:53 · 1140 阅读 · 0 评论 -
OSS+CDN的资费和安全
在云厂商的请求中添加自定义key在请求参数或者Header中。原创 2023-11-24 09:19:25 · 2059 阅读 · 0 评论 -
从零开发短视频电商 使用Spring WebClient发起远程Http调用
让我们从一个对客户端发送的 HTTP GET 请求进行计数的过滤器开始。我们将定义的第二个过滤器将版本号附加到请求 URL 路径。我们利用*ClientRequest.from()*方法从当前请求对象创建一个新的请求对象并设置修改后的 URL。.build();WebClient 默认使用 Project Reactor 提供的线程池来执行异步操作。但是,你可以根据应用程序的需求进行自定义线程池配置。调度器(Schedulers):WebClient 使用调度器来管理线程,例如。原创 2023-09-13 13:44:59 · 862 阅读 · 0 评论 -
从零开发短视频电商 自动化测试SikuliX-编程方式
来执行基本的 UI 操作。让我们看一下与 Sikuli 进行 UI 交互的一些重要方法。Sikuli 可能会识别不同的对象,因此在这种情况下我们可以使用 Pattern 类来唯一地标识对象。Screen类包含用于屏幕元素上所有常用操作的预定义方法,如单击、双击、向文本框提供输入、悬停等。因此,如果可能的话,将查找操作限制在较小的区域对象(例如。Sikuli 使用图像进行对象识别,因此,每个方法都将至少接受一个参数作为图像文件的路径。,因此类 Region 的所有方法都可用于 Screen 对象。原创 2023-09-07 14:02:10 · 449 阅读 · 0 评论 -
从零开发短视频电商 自动化测试WebUI端到端测试-Playwright
chi_sim.traineddata(中文简体)、eng.traineddata(英文)、jpn.traineddata(日文)三个语言库,存放在 resources 的 data 目录下(如下图所示,osd.traineddata 与页面分割模式有关,这里也一并下载了)默认情况下,测试以无头方式运行,这意味着运行测试时不会打开浏览器窗口,并且结果将在终端中看到。然后,下载对应的语言资源,可以手动下载设置也可以使用jar包内置的资源。,获取验证码图片的方式,可以直接定位到img元素,对元素截图即可。原创 2023-08-18 14:24:23 · 722 阅读 · 1 评论 -
从零开发短视频电商 单元测试(TestNG)
官网TestNG是一个基于 Java 的开源测试框架。该框架受到 JUnit 和 NUnit 的启发,但引入了一些新功能,使其更强大且更易于使用。您可以在测试实施期间创建 HTML 报告。它具有分组测试、注释、参数化等功能,有助于更快地创建测试。TestNG的核心特性在任意大小的线程池中运行测试,并提供各种可用策略(所有方法都在自己的线程中,每个测试类一个线程等等)。测试您的代码是否是线程安全的。灵活的测试配置。支持数据驱动测试(使用支持参数。强大的执行模型(不再是TestSuite。原创 2023-07-18 22:00:01 · 1686 阅读 · 2 评论 -
从零开发短视频电商 Jmeter基础介绍和使用心得
是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求,也可以使用 Java 类型的请求进行自定义编写。:运行脚本成功后生成的html图形化报告的绝对路径,如果不需要此结果,删除“-e -o /usr/laker/result/WebReport”原创 2023-07-10 20:59:59 · 612 阅读 · 0 评论 -
从零开发短视频电商 使用nimbus-jose-jwt进行对称签名和非对称签名的JWT实现
JSON Web Token(JWT)是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于安全地在各方之间传输信息,其格式为JSON对象。这些信息可以被验证和信任,因为它们是数字签名的。JWT可以使用对称算法(使用HMAC算法)或非对称算法(使用RSA或ECDSA的公钥/私钥)对进行签名。尽管JWT可以加密以实现机密性(JWK),但我们更多使用的是签名令牌(JWS)。签名令牌可以验证声明的完整性,而加密令牌则隐藏这些声明,不让其他方看到。原创 2023-07-05 21:56:51 · 969 阅读 · 0 评论 -
从零开发短视频电商 Jmeter插件安装和常用插件
下载地址:https://jmeter-plugins.org/install/Install/:主要显示平均响应时间,活动线程数,成功/失败交易数等。:监控服务器硬件,如CPU,内存,硬盘读写速度等。:主要显示吞吐量,连接时间,每秒的点击数等。: websocket请求插件。目录,重启JMeter。原创 2023-06-16 14:54:30 · 1653 阅读 · 0 评论 -
从零开发短视频电商 Java Websocket方案之Java_Websocket(二)
流量整形与流量监管的主要区别在于,流量整形对流量监管中需要丢弃的报文进行缓存——通常是将它们放入缓冲区或队列内,也称流量整形(Traffic Shaping,简称TS)。流量整形与流量监管的另一区别是,整形可能会增加延迟,而监管几乎不引入额外的延迟。通过流量整形可以控制发送速度,但是它的控制原理是将待发送的消息封装成Task放入消息队列,等待执行时间到达后继续发送,所以如果业务发送线程不判断channle的可以状态,就可能会导致OOM问题。在握手时只做一次即可,跟http server一个逻辑。原创 2023-04-08 19:05:54 · 707 阅读 · 0 评论 -
从零开发短视频电商 Java Websocket方案之Java_Websocket
一个 100% Java 编写的准系统 WebSocket 服务器和客户端实现。实现了底层类java.nio,允许非阻塞事件驱动模型(类似于 Web 浏览器的RFC 6455RFC 7692使用 Maven,请将此依赖项添加到您的 pom.xml:原创 2023-04-07 20:16:03 · 590 阅读 · 0 评论 -
从零开发短视频电商 Nginx等反向代理后如何获取用户的真实IP
当使用反向代理服务器时,Web服务器将无法直接获取到用户的真实IP地址,而只能看到反向代理服务器的IP地址。这是因为反向代理服务器作为中间人,将请求代理给了Web服务器,因此Web服务器只能看到代理服务器的IP地址。如果服务器前面没有网关或者nginx等反向代理,我们可以用下面的代码获取用户的真实IP。当使用此方式获取来访者真实IP时,获取的第一个地址就是来访者真实IP。去获取,可能获取的是不可信的,因为用户可以修改header。获取到与服务器本身直连的上层请求ip,所以。表示客户端真实的IP;原创 2023-03-31 12:43:40 · 1857 阅读 · 3 评论 -
从零开发短视频电商 非SpringBoot项目Logback配置以及彩色控制台
例如,红色的代码为31,绿色的代码为32,黄色的代码为33,蓝色的代码为34,等等。通过在文本中插入类似于“\033[31m”这样的控制字符,就可以将文本颜色设置为红色。类似地,可以使用其他代码设置背景色、粗体、斜体、下划线等属性。AnsiColor是一种文本颜色编码系统,它可以通过在文本中插入特殊的控制字符来改变文本的颜色、背景色和其他样式属性。以 ESC(Escape)字符(十六进制为0x1B,或者八进制为033)开头,后跟一些指令来设置文本的颜色、背景色、样式等等。重置回默认值,可以使用代码。原创 2023-03-30 14:07:23 · 543 阅读 · 0 评论 -
从零开发短视频电商 Spring事务嵌套问题
在嵌套事务场景中,内层事务的sql和外层事务的sql会在外层事务结束时进行提交或回滚。这时如果外层事务捕捉了异常e,那么外层事务方法还会继续执行代码,直到外层事务也结束时,spring发现事务已经被标记为“rollback-only”,但方法却正常执行完毕了,这时spring就会抛出异常。注:PROPAGATION_NESTED基于数据库savepoint实现的嵌套事务,外层事务的提交和回滚能够控制嵌内层事务,而内层事务报错时,可以返回原始savepoint,外层事务可以继续提交。嵌套事务,传播级别设置。原创 2022-11-15 15:00:06 · 355 阅读 · 0 评论