[erlang]针对http传输过程中body数据的优化

【信息科学与工程学】计算机科学与自动化-——第十五篇云计算 12 公有云里的“多Region + 多AZ“ 02 运营算法01 算法逐步思考推理思考(含数学方程式、对象、资源、任务、进程/协程/线程及对应的代数、约束、目标函数/传递函数/依赖函数、参数及参数的数值范围及边界条件、逐步推理的数学方程式列表、上下文切换、并发/串行/随机/乱序/顺序)算法逐步思考推理思考(含数学方程式、对象、资源、任务、进程/协程/线程及对应的代数、约束、目标函数/传递函数/依赖函数、参数及参数的数值范围及边界条件、逐步推理的数学方程式列表、上下文切换、并发/串行/随机/乱序/顺序)云厂商提高闲置资源利用率。算法复杂度为O(N),N为实例数量。 阅读详情
  • 在项目开发过程中,有需要上传超大字符串数据的场景。但是又不是文件上传。经过思考对上传数据进行一次压缩,降低字符串长度即降低数据在网络传输过程中的大小,达到优化的目的。
  • 客户端是由iOS或者Android开发的app,故需要客户端引入对zip压缩算法的支持,服务端由erlang开发,erlang的zip库模块基本已经够用了。
  • 我是直接在Linux环境下,用zip命令压缩了一个数据文件,可以看出压缩率还是不错的。

    1
    2
    3
    4
    5
    
    MacBook-Pro:testweihualiu$zip-rtest.ziptracker.c
    adding:tracker.c(deflated54%)
    weihualiudeMacBook-Pro:testweihualiu$ls-ltr
    -rw-r--r--1weihualiustaff1675Apr2520:40test.zip
    -rw-r--r--1weihualiustaff3254Apr2520:44tracker.c
    
  • 从上面可以看出,原文件大小是3254字节,压缩后是1675字节。
    然后通过erlang代码将zip文件解压:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    weihualiudeMacBook-Pro:testweihualiu$erl
    Erlang/OTP17[erts-6.4][source][64-bit][smp:4:4][async-threads
        :10][hipe][kernel-poll:false][dtrace]
    EshellV6.4(abortwith^G)
    1>file:read_file("test.zip").
    {ok,<<80,75,3,4,20,0,0,0,8,0,187,69,155,71,17,230,25,143,
    227,5,0,0,182,12,0,0,9,...>>}
    2>{_,Bin}=file:read_file("test.zip").
    {ok,<<80,75,3,4,20,0,0,0,8,0,187,69,155,71,17,230,25,143,
    227,5,0,0,182,12,0,0,9,...>>}
    3>zip:unzip(Bin).
    {ok,["tracker.c"]}
    4>{_,[{_,RBin}]}=zip:unzip(Bin,[memory]).
    {ok,[{"tracker.c",
    <<"/*S0DAYEXPLOITISPRIVATEPLEASEDONOTDISTRIBUTE!\n
        =========================================="...>>}]}
    5>size(RBin).
    3254
    
  • 从最后一行erl终端输出可以看出,已经成功解压zip文件,解压后大小与原有文件一致,都是3254字节。

【产品体系】第六十五篇 Nacos / HiClaw / HiMarket 体系01 子系统核心现象主力数学工具​变更传播 fan-out / cache staleness图 fan-out 分析、概率上界 P(Tstale​)、logical-clock version monotonicityHigress 网关​突发限流、延迟堆积排队论 (M/G/1)、Token/Leaky Bucket ODE、Little's Law L=λWHiMarket 检索​语义匹配召回、去冗余。 阅读详情

相关推荐

【信息科学与工程学】【产品体系】【数据中心】第四十四篇 云资源部署设计04

设计基于SD-WAN的多云互联方案,通过软件定义的overlay网络连接阿里云、AWS、腾讯云、华为云等,实现动态路径选择和带宽聚合,替代传统MPLS VPN。- 综合评分函数:Scorei​=w1​⋅Li​Lmin​​+w2​⋅(1−Pi​)+w3​⋅Bmax​Bi​​−w4​⋅Cmax​Ci​​。设计基于eBPF/XDP的容器网络加速方案,替换传统的iptables/kube-proxy,实现Pod间通信零拷贝转发,降低延迟和CPU开销。

weixin_49199313的博客 31

erlang中http请求

1..app文件中 {application,backend,[ {description,"ebank backend"}, {vsn,1.0}, {modules,[]}, {applications,[kernel,stdlib,yaws]}, {registered,[backend]}, {env,[{env,development}]}, {mod,backend_bo...

weixin_34085658的博客 380

cowboy:Erlang OTP高效现代HTTP服务器的实现

本文还有配套的精品资源,点击获取 简介:cowboy是一个专门为Erlang OTP设计的高性能HTTP服务器,它以小型、快速和现代化为特点。它旨在提供高效的请求处理能力,并且可能是轻量级的,适合高并发处理。cowboy支持最新的HTTP协议,包括HTTP/2和WebSockets,并且是为构建RESTful API和实时Web应用而准备的,已经经过充分的测试和优化,适用于...

weixin_36474966的博客 1537

erlang http

http协议基础

牛逼! 1801

hackney:Erlang中的简单HTTP客户端

hackney:Erlang中的简单HTTP客户端

erlang使用post方式发送json数据

学习erlang的时候尝试编写的小例子,使用post方式发送json数据来进行http请求,希望能帮到大家~

Erlang实现的简易HTTP服务器

-module(hello). -export([start/2]). start(Port, Doc) -> spawn(fun () -> {ok, Sock} = gen_tcp:listen(Port, [{active, false}]), loop(Sock, Doc) end). loop(Sock, Doc) -> {ok, Conn} = gen_tcp:ac

【昆山人在上海】 1687

绝对旋转编码器学习笔记(基本原理,与PC通信等,不定期更新中)

前言 最近开始学习编码器相关内容,目的在于搞清楚编码器的原理,与上位机的联系等问题。笔记资料来源为网络,整理的同时也会有一些总结和感悟。由于研究方向需求,主要研究数字旋转编码器。 1.编码器的定义 编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。——摘自《百度百科》 通常来说,编码器可以将角度位移、直线位移、转速等物理量转换为电信号。这里的电信号根据不同原理的编码器输出脉冲、二进制数码等不同的类型,下面会提到。 2.编码器的分类 编.

黑化咸鱼的博客 1万+

Golang基础面试题汇总

channel、goroutine、slice、map、反射、内存、GC、Musql、Redis、ELK、K8s、Http、Https

weixin_41760738的博客 5696

GD32F4系列定时器正交译码器实战:用TIMER1读取旋转编码器信号(附完整代码)

本文详细介绍了GD32F4系列定时器正交译码器的实战应用,重点讲解如何使用TIMER1模块高效读取旋转编码器信号。内容涵盖硬件连接、定时器配置、方向判断与速度计算等关键环节,并提供了完整的代码实现和优化建议,帮助开发者快速掌握GD32微控制器在工业控制和消费电子领域的编码器接口设计。

weixin_29169505的博客 201

自动驾驶仿真(五)—— 基于Carsim、Prescan、Simulink的联合仿真

自动驾驶仿真五——基于Carsim、Prescan、Simulink的联合仿真1. 联合仿真流程2. CarSim联合仿真配置要点3. Prescan联合仿真配置要点4. Carsim、Prescan、Simulink联合仿真结果5. 参考学习的书目教材 博主前面的博文已经介绍了Carsim和Prescan各自与Matlab/Simulink的相关联合仿真应用实例,并且论述过几款软件各自的优势及用法,CarSim适合动力学模型的建立,PreScan适合行车场景的搭建,Simulink适合控制算法的设计及信号

zhudj08的博客 1万+

Mythos:可调度的漏洞发现力如何重塑AI安全工程范式

大模型在安全领域的应用正从‘辅助编码’迈向‘自主漏洞挖掘’,其核心已不再是参数规模或通用推理能力,而是面向二进制逆向、符号执行与利用链构建的专用化推理架构。Mythos所代表的‘可调度的漏洞发现力’,本质是将传统需多角色协作、数日完成的安全研究流程,压缩为单次API调用下的端到端闭环——涵盖跨文件控制流分析、内存腐败原语识别、绕过缓解机制的shellcode生成等关键环节。这一能力跃迁依赖长上下文推理、领域特化训练数据及强对齐约束,直接推动红队自动化、供应链风险评估与DevSecOps左移等真实场景落地。本

513

tcmalloc(高并发内存池)简化版讲解-项目

高清发不上去,私我发高清,项目完整代码@我。

2201_75352618的博客 910

liunx版本的

services:ports:volumes:network_mode: "host" # 添加此行(必须)kibana:ports:ELASTICSEARCH_HOSTS: http://192.168.1.145:9200 # 具体ip(必须)network_mode: "host" # # 添加此行(必须)

m0_45209551的博客 1192

药物对接仿真软件:HADDOCK_(3).分子对接基本原理

分子对接(Molecular Docking)是计算化学和结构生物学中的一种重要技术,用于预测小分子(如药物分子)与大分子(如蛋白质)之间的相互作用模式和结合亲和力。这一技术在药物设计和开发中具有广泛的应用,尤其是在寻找和优化潜在的药物候选物方面。本节将详细介绍分子对接的基本原理,包括其理论基础、计算方法和应用。

kkchenjj的博客 1169

innovus:NRDB-2276 special net route layer与NanoRouteMode route layer冲突问题解决方法

NanoRouteMode中设置绕线层次2-6,但是被动到的special net有8-11的preferred route layer,这个层次可能是create_route_type+set_ccopt_property -net_type 定义的。二者绕线层次范围有冲突,导致在调整过这条net后再绕线就会提示失败。然后再下route_design 等route命令去绕别的net。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1099

MQ 面试防 “翻车” 指南:深挖 RocketMQ

消息队列(Message Queue)本质上是一个保存消息的FIFO(先进先出)数据结构,跨进程的通信机制。底层核心逻辑是通过"存储-转发"机制,将消息暂存于 Broker(消息服务器),避免生产者与消费者直接耦合,同时提供消息的持久化、路由、重试等能力,解决分布式系统中的通信问题。核心模型对比模型说明典型实现点对点(P2P)一条消息只能被一个消费者消费RabbitMQ(Queue模式)发布/订阅(Pub/Sub)一条消息可被多个消费者组消费RocketMQ(Topic模式)、Kafka。

weixin_72753562的博客 849

uni-app开发-第6篇:uni-app 样式与主题

在 uni-app 开发中,样式与主题的管理是关键部分。样式分为全局样式和局部样式,全局样式在 App.vue 中定义,适用于整个应用,而局部样式在单个 .vue 文件中定义,仅对当前页面生效。局部样式优先级高于全局样式,内联样式优先级最高。样式属性如 font-family 和 color 可被子元素继承。要覆盖全局样式,可在局部样式中重新定义相同规则。主题切换通过 CSS 变量和类名实现,动态切换主题可通过修改元素的类名来完成。例如,定义浅色和深色主题,并通过按钮点击切换主题样式。这些方法帮助开发者灵活

无 369

全文 - Building AI Coding Agents for the Terminal: Scaffolding, Harness, Context Engineering, and Less

AI 编程辅助的格局正在经历一场根本性转变:从复杂的 IDE 插件转向通用的、终端原生的智能体(agent)。直接在开发者管理源代码版本控制、执行构建和部署环境的终端中运行,基于 CLI 的智能体为长程开发任务提供了前所未有的自主性。本文介绍OpenDev——一个专为这一新范式打造的开源命令行编程智能体。有效的自主辅助需要严格的安全控制和高效的上下文管理,以防止上下文膨胀和推理退化。

eloudy的专栏 455

Python 爬虫实战:就业市场趋势数据抓取与行业洞察

在当今竞争激烈的就业市场中,了解行业趋势和就业形势对于求职者、学生以及人力资源专业人士来说至关重要。通过获取和分析就业市场数据,我们可以深入了解不同行业的招聘需求、薪资水平、技能要求等关键信息,从而为职业规划和人才发展提供有力支持。

yansideyucsdn的博客 1406

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

聊聊接口性能优化的11个小技巧

聊聊接口性能优化的11个小技巧 - 云+社区 - 腾讯云

AlbenXie的博客 259

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

erlang 压缩zlib

一:写在之前 今天和同事讨论偶然提到了,代码中注释掉的压缩方法,想了想好像还没有看过压缩相关的内容 一位同事提出了,之前他们项目因为压缩崩溃过一次,这更激起了自己兴趣,晚上看了会,记录下一些心得 二:简介 erlang提供了一个压缩模块 zlib 那么,什么是zlib? wiki   连接点这里 wiki中的简介 zlib is a software lib

taitoubiyan1的专栏 1860

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

erlang HTTP 客户端 使用实例

HTTPC的请求范式 HTTPC(Method(),Request(),Httoptions().Options()) 其中 Method=head|get|put|psot|trace|options|delete (一般主要用 get ,post ,put ,delete) Request= {url(),headers()}|{url(),headers(),content_...

weixin_34006965的博客 392

Erlang发送HTTP请求(Get,Post)

在开发项目Erlang程序项目中 , 用到了HTTP请求 , 主要是Get和Post , 其他的类似Put和Post请求模式一样 ; 现将代码总结如下 : 发送HTTP-Get请求 inets:start(), ReqUrl = string:join(["http://www.example.com/user?access=",binary_to_list(Access)],""), R

EnskDeCode 2552

[Erlang 学习笔记] 通过 erlang 向服务器发送 http post 请求

由于项目测试需要,在写机器人的时候用到了erlang的httpc来向server端发送post请求,自己做个记录,日后忘记了 可以查看,一下是使用实例: t.erl -module(t). -export([t/0]). -define(Name,"hosr"). -define(Passwd,112233). t()-> inets:start(), ssl:start(),

lqg1122 1万+

erlang http post and get 请求

参考: http://erlang.org/doc/apps/inets/http_client.html get  请求: %同步请求 createid() -> inets:start(), Rui = "http://some..../.php", {ok,Result}=httpc:request(get,{Rui,[]},[],[]),

yangzm的专栏 3698
上一篇: c语言函数指针的理解与使用
下一篇: yaws搭建mobile app https下载服务器
tonyliu
博客等级 码龄14年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值