• 最新文章

C++回顾

平时用C++比较少,最近项目需要用到C++,现简单再回顾一下。 单例模式 在某些场景下,一个类只需要有一个实例就足够了,例如配置管理类、日志记录器、数据库连接池等。使用单例模式可以避免创建多个实例导致的资源浪费、数据不一致等问题。 单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取该实例。在程序运行期间,这个类的实例始终只有一个,所有对该类实例的访问都通过这个全局访

裁剪脚本

查找当前目录大于指定大小 #!/bin/bash # 遍历当前目录及子目录中的所有文件 find . -type f -exec du -b {} + | while read size file; do # 如果文件大小为50KB(即50 * 1024字节) if ; then echo \"文件:file, 大小: $((size / 1024)) KB\"

2条命令本地部署deepseek

环境是centos,下面是部署步骤。 命令1: 安装ollama 安装命令:curl -fsSL https://ollama.com/install.sh | sh 安装日志: >>> Cleaning up old version at /usr/local/lib/ollama >>> Installing ollama to /usr/local >

豆包大模型接入体验

前置条件 需要先创建获得API key和创建推理接入点。 API key获取 https://www.volcengine.com/docs/82379/1361424#f79da451 创建推理接入点 https://www.volcengine.com/docs/82379/1099522 安装python环境 python版本需要安装到Python 2.7或以上版本。执行python --v

MacBook上ubuntu虚拟机共享

步骤1: 安装paralles tools 步骤2:执行install安装 报错处理 一通操作还是不行,原因是paralles tools没有匹配当前的内核版本,只能升级parallel 版本了。或者升级一个parallel desktop版本获取到parallel tools安装包放到低版本上。

emqx通过REST API获取设备是否在线

本文通过emqx REST API的方式来进行配置 创建一个API密钥 记录密钥的名称 API key是用户名称,Secret KEY是密码 浏览器登录验证 用户名就是 API Key,密码就是Secret KEY. 登录上之后就可以获取到设备的信息了。 可以参考: http://localhost:18083/api-docs/index.html 支持哪些API 官网参考: https://d

基于nodejs搭建jsonp环境

安装 安装 Node.js 和 npm:执行以下命令安装 Node.js 和 npm: yum install -y nodejs 创建工程 步骤1: 创建一个新的Node.js项目目录,并进入该目录: mkdir jsonp-server cd jsonp-server 步骤2:初始化Node.js项目,并安装Express框架 npm init -y npm install express -

webrtc网页代码分析二

交互流程 上图是完整的处理流程。 获取URL参数 const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); const deviceId = urlParams.get(\'deviceId\'); 这段代码先获取当前页面 URL 中的查询字符串部分(window.lo

webrtc网页代码分析一

文档结构 <!doctype html> <html lang=\"en\"> <head> ... </head> <body> ... </body> </html> 文档类型声明():声明文档使用HTML5标准。 html标签:设置文档的语言为英语(lang=\\\"en\\\")。 head标签:包含元数据、样式、外部

javascript之dom

什么是dom DOM(Document Object Model)是一个编程接口,它将 HTML 或 XML 文档呈现为一个由节点和对象(这些节点和对象其实是文档的各种元素、属性和文本内容等)组成的树形结构。这个树形结构允许开发者使用编程语言(如 JavaScript)来访问、修改和操作文档的内容、结构和样式。对于以下简单的 HTML 文档: <!DOCTYPE html> <h

快速搭建一个可访问的网页

简介 搭建网站需要以下几个组件, Web服务器(如Apache、Nginx):它是网页能够被访问的核心组件。当用户在浏览器中输入网站的域名或 IP 地址并请求访问网页时,Web 服务器软件会接收这些 HTTP 请求。负责从服务器的存储设备(如硬盘)中找到对应的网页文件(如 HTML、CSS、JavaScript 文件等),并将这些文件发送回用户的浏览器。 编程语言支持(如PHP、Python、No

openwrt规则编译cmake软件包

软件包中有完整CMakelists.txt include (TOPDIR)/rules.mk PKG_NAME:=usrsctp PKG_VERSION:=0.9.5.0 PKG_RELEASE:=3 PKG_SOURCE:=(PKG_NAME)-(PKG_VERSION).tar.gz PKG_SOURCE_URL:= https://codeload.github.com/sctplab/u

Cmake构建模版

# 指定 CMake 的最低版本要求。它应该是 CMakeLists.txt 文件中的第一个命令。 cmake_minimum_required(VERSION 3.10) # 定义项目的名称 project(mpp_webrtc) # 要编译的源文件,先收集在SRCS变量中。 file(GLOB SRCS \"*.c\" \"common/*.c\") # 编译源文件的头文件路径 include_dir

部署MQTT云服务

Centos安装 配置emqx的源 curl -s https://assets.emqx.com/scripts/install-emqx-rpm.sh | sudo bash 安装emqx sudo yum install emqx -y 启动emqx sudo systemctl start emqx 如果要卸载 sudo yum remove emqx 后台配置 访问前,服务端的端口180

coturn安装

安装 yum install coturn -y 配置 vim /etc/coturn/turnserver.conf listening-port=3478 #指定 coturn 监听的端口。默认的 TURN 协议端口是 3478,用于接收 TURN 客户端的连接请求。 tls-listening-port=5349 #指定用于 TLS (传输层安全协议) 加密连接的监听端口。TURN 支持通过

STUN协议

NAT墙 完全锥形 IP限制型锥形 端口限制型锥形 对称型 NAT穿透 STUN协议简介 STUN(Session Traversal Utilities for NAT)是一个用于帮助客户端发现其所在NAT之后的公网IP地址和端口号。通信的双方都能知道所在的公网IP,并且能够让公网的NAT帮助转发,从而实现NAT穿透。STUN协议广泛应用在WebRTC实时通信系统中。STUN交互过程主要有以下几

libpeer分析

关键数据结构 PeerConfiguration typedef struct PeerConfiguration { IceServer ice_servers; MediaCodec audio_codec; MediaCodec video_codec; DataChannelType datachannel; void (*onaudiotrack)(uint8_t* data, s

乌龟图分析法

结构形似乌龟,身体是主体,头尾脚代表着互相关联的六个要素。 身体:代表过程、活动。 头部:达标input,即过程的要求,是分析的关键。 左前脚:代表Procedure,指的操作的方法,怎么做? 右前脚:达标Resources,是做成这件事需要的非人工资源。 右后脚:代表who,谁负责这个事情,对人有什么要求? 左后脚:代表KPI,衡量这个过程的指标,有效性。 尾部:代表Output,即过程产生的结

看wireshark报文技巧

TCP握手与挥手 握手看SYNC与ACK 第一次握手标志, 第二次握手看标志,第三次ACK。 挥手看FIN 报文交互 正常交互 先看len,当长度为0,这个包是ack包,长度不为0表示是发送的数据包。 再看ack,表示该值以前的序号都收到了。ack是对端上一个报文的seq+len,同时也是期望对端下一个发包。 警告交互 TCP Dup ACK 重传ACK

MQTT协议分析

什么是MQTT MQTT是基于TCP/IP网络协议栈构建的异步通信消息协议,基于发布-订阅模式进行传输。实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中, MQTT协议中有三种身份: 发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。 其中消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者,客户端之间的通信完全是空间解耦的。