首页 文章 精选 留言 我的

精选列表

搜索[HTTP/3],共10000篇文章
优秀的个人博客,低调大师

阿里云Serverless应用引擎(SAE)3大核心优势全解析

软件发展到今,企业业务系统日趋复杂,开发一个业务系统需要掌握和关注的知识点越来越多。除实现业务逻辑本身,还需考虑很多非业务的基础技术系统:如分布式cache和队列、基础服务能力集成、容量规划、弹性伸缩等。这种情况下,研发门槛逐渐上升,效率逐渐下降。企业很难做到低成本创新、试错和快速扩展业务。 阿里云Serverless应用引擎(简称SAE)产品的出现,很好地解决了这类问题。帮助 PaaS 层用户免运维IaaS,按需使用,按量计费,提供了一系列通用能力,实现低门槛微服务/Web/多语言应用上云,有效解决成本及效率问题。 免运维、省成本是所有Serverless产品的核心优势之一,SAE除了免运维底层IaaS外,还能让用户免部署和运维微服务注册中心等组件,提供生产级别稳定可靠的微服务托管能力;免部署和运维K8s集群,零容器基础的用户也能拥抱K8s带来的技术红利。 很多企业在云上都会部署多套环境,存在很大的闲置浪费。使用SAE的“一键启停开发测试环境”,按需释放闲置资源,节省成本,需要使用时一键秒级拉起。后续SAE考虑基于K8s强大的编排能力,编排应用所需的DB、应用和应用的依赖,一键初始化拉起一套全新环境,以及多环境的克隆复制等。 云时代下弹性已成为新常态,很多业务场景无法提前预知,如天猫双11、突发事件导致社交网站瞬时过载。和传统弹性方案相比,SAE在成本和效率上都能做到极致。基于监控触发按需弹,不会出现资源浪费/不足,在效率上免去ECS扩容和ECS启动的时间,能做到秒级弹性。 SAE三个主要指标数据:端到端启动时长20s,满足突发场景快速扩容的需要。支持0.5core的最小规格,进一步降低用户使用成本。部署一套日常环境成本节省47%~57%。 据Serverless应用引擎(SAE)产品经理黛忻介绍,SAE继续探索弹性效率和用户成本的优化方案,继续将一些基础技术归纳抽象下沉到平台,让创新业务成为企业的唯一关注点。 据悉,阿里云是国内率先提供了面向应用的Serverless产品的云计算公司。截止目前,已有上百家企业通过 SAE 构建应用,实现业务的快速交付和IT成本优化。

优秀的个人博客,低调大师

如何 3 行代码使用 arduino 接入阿里云物联网平台

文中提到的 AliyunIoTSDK这个 arduino 库,可以在 arduino 库商店里搜索到(搜索 AliyunIoTSDK) https://github.com/xinyu198736/arduino-aliyun-iot-sdk 有问题,欢迎提 issues 或 PR 共建 阿里云物联网平台简介 阿里云物联网平台提供接入物联网场景的一整套基础设施,强大的在线配置能力,基本可以实现无代码开发接入各类应用,实现大规模的物联网应用场景。 核心能力模块包括: 产品&设备创建和管理 服务可视化开发 控制界面可视化开发 数据分析和监控运维等辅助设施 基于以上功能模块,可以快速在阿里云定义设备模型和事件等信息,然后快速创建和接入设备,再利用可视化的开发平台,可以零代码实现非常强大的功能。 不过,今天我们要介绍一个比较特殊的接入场景,使用嵌入式系统快速接入阿里云物联网平台,这里以 esp8266 为例。 esp8266 是一款集成网络模块的嵌入式芯片,自带 32 位处理器,各种外设接口,wifi 模块等,可以使用 arduino 平台进行编程,兼容大量 arduino 库。 本文就是以 arduino 编程方式,使用的 esp8266 开发板为 NodeMCU 1.0 ,淘宝成本仅为 8~10 元。 场景 本次我们想利用 ESP8266 芯片实现一个简单的可远程控制的空调控制器,具备以下功能: 批量部署,可通过云平台集中管理和远程控制空调开关、温度、模式等 芯片可感知环境温度、亮度,并上报物联网平台 芯片可远程触发事件,上报物联网平台 成本尽量低,不超过 30 元 首先,我们进行硬件选型,经过功能评估,选用以下硬件: nodemcu 核心板(基于 esp8266) 10.89元/个 DS18B20模块 温度传感 3.18元/个 GY-30 光照传感 4.38元/个 红外发射板 3.5元/个 杜邦线母对母 1.45元/串 电源插头 1.4元/个 数据线 1.8元/个 按钮开关 0.75元/个 开始接入 具体的连线,我们这里不展开,我们主要探讨如何使用 arduino 快速接入物联网平台。 第一步,在物联网创建产品,建立物模型,并创建设备,获取设备配置信息。 创建产品,并定义物模型 创建设备,与产品绑定,获取设备鉴权信息第二步,用 arduino 连接 nodemcu 开发板,开始硬件端的开发。具体接线可以自己研究,这里只是个展示,哈哈 硬件端开发 这里不讨论如何使用 arduino 进行 esp8266 芯片开发,直接进入代码环节,相关基础知识可以百度一下。 首先,亮相一个我自己封装的 aliyun iot 上层 SDK(arduino-aliyun-iot-sdk ),底层连接基于 PubSubClient 库,并且对模型操作做了一些上层封装,可以方便的发送数据和订阅远程指令。 // 引入 wifi 模块,并实例化,不同的芯片这里的依赖可能不同 #include <ESP8266WiFi.h> static WiFiClient espClient; // 引入阿里云 IoT SDK #include <AliyunIoTSDK.h> // 设置产品和设备的信息,从阿里云设备信息里查看 #define PRODUCT_KEY "xxx" #define DEVICE_NAME "Device_D" #define DEVICE_SECRET "xxxxxxxxxxxxxx" #define REGION_ID "cn-shanghai" // 设置 wifi 信息 #define WIFI_SSID "xxxxx" #define WIFI_PASSWD "xxxxx" void setup() { Serial.begin(115200); // 初始化 wifi wifiInit(WIFI_SSID, WIFI_PASSWD); // 初始化 iot,需传入 wifi 的 client,和设备产品信息 AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID); // 绑定一个设备属性回调,当远程修改此属性,会触发 powerCallback // PowerSwitch 是在设备产品中定义的物联网模型的 id AliyunIoTSDK::bindData("PowerSwitch", powerCallback); // 发送一个数据到云平台,LightLuminance 是在设备产品中定义的物联网模型的 id AliyunIoTSDK::send("LightLuminance", 100); } void loop() { AliyunIoTSDK::loop(); } // 初始化 wifi 连接 void wifiInit(const char *ssid, const char *passphrase) { WiFi.mode(WIFI_STA); WiFi.begin(ssid, passphrase); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("WiFi not Connect"); } Serial.println("Connected to AP"); } // 电源属性修改的回调函数 void powerCallback(JsonVariant p) { int PowerSwitch = p["PowerSwitch"]; if (PowerSwitch == 1) { // 启动设备 } } 核心代码只有三句: // 初始化 iot,需传入 wifi 的 client,和设备产品信息 AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID); // 绑定一个设备属性回调,当远程修改此属性,会触发 powerCallback // PowerSwitch 是在设备产品中定义的物联网模型的 id AliyunIoTSDK::bindData("PowerSwitch", powerCallback); // 发送一个数据到云平台,LightLuminance 是在设备产品中定义的物联网模型的 id AliyunIoTSDK::send("LightLuminance", 100); 注意这里的数据绑定和数据发送,是非常有用和方便的,不需要自己去写做匹配的代码,也不需要自己组装数据,并且会自动合并数据,节约上报的频率。 将设备配置信息配置进代码,烧录到板子,运行即可,是不是炒鸡方便呢。 注意事项: 阿里云对客户端的链接参数有一些限制,需要修改PubSubClient 的连接参数,否则无法使用 PubSubClient 中的 MQTT_MAX_PACKET_SIZE 修改为 1024 PubSubClient 中的 MQTT_KEEPALIVE 修改为 60 默认 5000ms 检测一次连接状态,可以通过AliyunIoTSDK.cpp中的 CHECK_INTERVAL 修改此值 掉线后会一直尝试重新连接,可能会触发阿里云的一些限流规则(已经做了规避),并且会导致挤掉其他同设备 ID 的设备 资源 目前 AliyunIoTSDK这个 arduino 库,可以在 arduino 库商店里搜索到(搜索 AliyunIoTSDK),但是版本可能不一定是最新的,可以手动把 github 上的项目 clone 下来,放到 arduino 的 library 库下,保证功能是最新的。 github 地址:https://github.com/xinyu198736/arduino-aliyun-iot-sdk 有问题,欢迎提 issues 或 PR 共建,我对 c++ 不是特别熟悉,写出来的代码可能不一定是最合理的。 可视化开发界面和服务 完成了设备的连接之后,已经迈出了第一步,如果你想要自己开发一个界面,可视化的控制空调,或者想利用一些远程设备的数据触发一些自定义的规则和逻辑(例如如果某个数据超标,报警到钉钉群等),用阿里云的物联网平台的话,这些都不需要自己去开发,直接使用物联网平台的“开发服务”拖拖拽拽即可完成。 界面开发 界面开发的核心是 拖动布局、数据源绑定、交互绑定、自定义变量等。布局界面,右侧可以设置各种控件属性数据源绑定,可以方便的和产品模型数据绑定交互绑定,可以与服务进行绑定,触发某个服务,并传入设备属性控件可以给自定义变量赋值,其他组件可以与变量绑定 使用上述的功能,加上各种设备绑定功能,基本可以完成一个很复杂的界面的开发,但是如果你需要通过交互触发远程指令,或者监听远程的数据做一些判断逻辑,光有界面是不够的。 服务开发 上面提到的逻辑开发,就需要使用“服务开发”了,服务开发的触发点主要是两类:设备触发、界面交互触发。 设备触发的服务,中间的路径选择是用来做条件判断分流的,最右侧是触发通知逻辑节点一个温度控制服务,通过界面控件触发,最终生成设备控制逻辑 结语 本文不是 arduino 教学,也不是 esp8266 教学,更不是硬件教学,所以没有展开细节,需要读者具备一定的基础,请各位谅解。 最后展示一下成果:一个成品,包含四个传感器模块,包括一个硬件按钮空调远程控制界面另外,还可以给这个控制器加入一些很有意思的功能,例如定点关闭所有设备,根据环境亮度开关空调等。

优秀的个人博客,低调大师

PyPI 发现 3 个针对 Linux 服务器的恶意库

据 ZDNet 的报道,安全公司ReversingLabs 在扫描了 PyPI(Python Package Index) 的一百多个万个库后,发现其中存在三个恶意 Python 库,它们包含恶意后门,会在安装到 Linux 系统后被激活。 PyPI 显示三个库 libpeshnx、libpesh 和 libari 的作者同是名为ruri12 的用户,上传时间是2017年11月,距今已接近两年,也就是说在被发现之前,这些库在 PyPI 上已被下载近 20 个月。 PyPI 团队收到通知后于7月9日移除了这三个库,而ReversingLabs 也于当天向 PyPI repo 维护人员通报了他们的调查结果。由于这三个库都没有描述,所以其用途难以了解。但 PyPI 的统计数据显示它们在被定期下载,每个月有数十次安装。 恶意 Python 库的后门机制只在库安装到 Linux 系统后才会激活,后门允许攻击者向安装这三个库的计算机发送和执行指令。ReversingLabs 还发现三个库中只有 libpeshnx 的后门是活跃的,其余两个(libpesh 和 libari)恶意功能的代码是空的,这表明作者已将其删除,或者正准备推出后门版本。 至于恶意代码,ReversingLabs 提供的资料显示,其后门下载的逻辑非常简单,如果在 Linux 系统中安装了此恶意 Python 库,每当创建交互式非登录 shell 时(即在初始登录后打开 shell 时),它将尝试从 C2 域下载文件,将其保存为用户主目录中名为 .drv 的隐藏文件,并将其自身保存在 .bashrc 中以便作为后台进程运行。代码如下:

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册