- 博客(77)
- 资源 (2)
- 收藏
- 关注
原创 BM1Z002FJ-EVK-001开机测评
前言一大早收到了ROHM寄来的BM1Z002FJ-EVK-001开发板。BM1Z002FJ-EVK-001属于ROHM过零检测IC中的明星产品。为什么改款产品能实现过零检测?由于无需光耦就可以进行过零检测,因此功耗极低,可将正常通电时的过零检测电路的待机功耗降至0.01W。另外,在驱动应用时,将以往使用光耦的过零检测电路中随AC电压变化而波动的延迟时间误差降至±50µs以内。极低的待机功耗和极小的延迟时间误差,使得即使在各国不同的AC电源电压下,也可高效地驱动电机,成功实现了以往的过零检测电路很难实现
2022-05-31 14:56:54
343
原创 webrtc 入门第六章 WebRtc中使用的服务
webrtc 入门第六章 WebRtc中使用的服务一、概述 WebRTC支持对等通信,但是它仍然需要服务器,以便客户端可以交换元数据以通过称为信令的过程协调通信,并应对网络地址转换器(NAT)和防火墙。本文向您展示如何构建信令服务,以及如何处理与STUN和TURN服务器的真实连接的问题。二、信令服务1、什么是信令信令是协调通信的过程。为了使WebRTC应用程序能够建立呼叫,其客户需要交换以下信息:用于打开或关闭通信的会话控制消息错误讯息媒体元数据,例如编解码器,编解码器设置,带宽和媒体
2022-03-13 23:52:23
1610
原创 webrtc 入门第五章 一对一视频通话实现
webrtc 入门第五章 一对一视频通话实现一、介绍 在前面的章节我们学习了如何操作本地的设备摄像头,麦克风等,学会了如何进行本地的流媒体操作如录制,下载,同步等。在第三第四章节学习了webrtc的一对一连接的原理和实操并且实现了简单的数据传输。 但是之前的实践在两个不同的设备之间还不能实现真正意义上的通话,当两端不在一台设备上是还不能通信。要实现远程的两个设备间的数据传输还需要借助信令服务器和STUN服务器。二、实践1、通话流程 一对一的视频通话连接流程和第三章的连接流程一样,学者
2022-03-09 23:56:19
7606
原创 webrtc 入门第四章 数据通道
webrtc 入门第四章 数据通道一、介绍 在webrtc再实现了端到端的连接过程中除了传输媒体流以外,还可以传输文字,文件,图片等数据,再IM的场景中同样实用,并且不需要第三方消息服务如websocket,透传消息等。 数据通道的创建依赖RTCPeerConnection 的连接,其连接流程在第三章可以查看,当两端建立了连接后,就可以进行发送数据。二、实践1、数据对象 RTCDataChannelthat.localConnection.createDataChannel('webrt
2022-03-05 23:58:36
4120
原创 webrtc 入门第三章 建立连接
webrtc 入门第三章 建立连接一、介绍1、概述 在前面的章节我们学习了通过webrtc的基本操作实现了获取本地媒体流、音视频的获取与操作。在得到本地的媒体流后我们就需要将本地媒体数据发送到远端,远端街道媒体流后渲染可视化,从而达到通话的目的。 RTCPeerConnection 连接的核心pai接口,使用它可以将本地流发送到远端,同时也可以将远端媒体流发送到本地从而实现连接。在使用过程中需要用到信令服务器中转信息和STUN服务器打桩服务。二、实践1、RTCPeerConnection
2022-03-03 23:20:04
1544
原创 webrtc 入门第二章 音视频录制
webrtc 入门第二章 音视频录制一、介绍1、媒体录制原理 在很多场景中回放音视频资源的需求是非常重要的例如会议,直播授课等。任何媒体形式的表情都可进行录制,如 ,,等。其中内容更加自由用户的任何2d,3d操作都可以进行录制和传播。 MediaRecoder 是控制媒体录制的api,使用它可以进行录制音视频,使得web可以脱离服务器,独立进行视频录制。同时W3C也制定了相应的web标准。录制出来的是经过转码的标准媒体流数据。二、实践1、录制对象 MediaRecodervar med
2022-02-27 00:19:07
1402
原创 webrtc 入门第一章 基本设备操作
webrtc 入门第一章 基本设备访问一、介绍1、webrtc是什么webrtc是一个由google发起的开源实时通信方案,其中包括视频/音频采集、编解码、数据传输、音视频展示的功能。在浏览器,桌面应用,移动设备或者lot设备上都有可以运行的api接口,均可实现实时通信能力。web开发者可以基于web api开发基于视频、音频的实时通信应用,如视频会议,远程教育,视频通话,视频直播,游戏直播,远程协助,互动游戏,实时人脸识别等功能。2、优点是什么webrtc主要应用在实时通信方面,其优点总结为如下
2022-02-24 10:48:55
3410
原创 Golang实现php的str_replace方法
package mainimport ( "fmt" "strings")func Replace(a1, a2 []string) []string { r := make([]string, 2*len(a1)) for i, e := range a1 { r[i*2] = e r[i*2+1] = a2[i] } return r}func main() { str := "hello%world" array1 := []string{"\\", "%",.
2022-02-22 11:08:27
639
原创 Golang 中ip与int互相转换
package mainimport ( "bytes" "fmt" "strconv" "strings")func main() { fmt.Println(StringIpToInt("172.16.1.1")) fmt.Println(StringIpToInt("172.16.2.9")) fmt.Println(IpIntToString(2886729986))}func StringIpToInt(ipstring string) int { ipSegs .
2022-02-09 09:23:09
3052
1
原创 webrtc-centos下安装turn服务
一、背景最近在学习webrtc的p2p一对一视频对话功能,在该功能中需要使用中继服务将两个用户端的IceCandidate 数据进行交换,需要使用在公网STUN/TURN 服务。当然有免费的可以使用,国内免费turn服务地址但是很多连接时间久远已经不支持该服务,因此需要我们进行自己搭建一台服务。本次使用coturn这个软件实现TURN/STUN/ICE协议,并且支持P2P穿透防火墙。收集NAT背后的peer端(路由器或交换机后的电脑)对外暴露的ip和端口,找到一条可穿透的链路,俗称打洞。二、安装
2022-01-19 00:07:03
1134
原创 go-micro3.0教程(3)-web+gin实现api服务
前言上一章节中介绍了micro3.0 生成了user和order服务,在order服务中实现了订单查询方法,并在user服务中实现了注册和登录方法,并且在user服务中实现了查询订单详情的方法。 另外解决了多个服务在部署多台服务器调用遇到的问题。 本次将使用micro-web结合gin实现一个查询订单详情的api 的服务 go.micro.api.web 准备工作 etcd3.0 ip(49.232.162.254) 虚拟机 (192.16.24.145)...
2021-11-24 11:05:31
1608
1
原创 Linux下-crontab 执行脚本找不到mysql问题
一、问题需要一个定时任务,每天晚上清除错误日志,脚本写好了,在控制台里 手动用 sh ./text.sh 可以执行成功,但是放crontab里面执行不了,打出得日志表示 找不到mysql二、解决由于crontab得环境变量和#!/bin/bash 不一样,所以找不见mysql此时,需要修改脚本如下此时在crontab运行得时候会从新载入环境变量就能解决此问题...
2021-11-18 19:32:25
1245
原创 go-micro3.0教程(2)-服务创建及调用
前言上一章节中介绍了micro3.0 在linux上环境的搭建,这届主要讲服务创建和调用过程以及遇到的问题,准备工作 etcd3.0 ip(49.232.162.254) 虚拟机 (192.16.24.145) 运行order 服务 虚拟机(192.16.24.49) 运行 user服务 宿主机(192.16.24.12) 运行order服务 MySQL (49.232.162.25) 存放订单表新建服务本次user服务里为注册 和登录服务......
2021-11-10 18:28:44
1507
2
原创 golang导入私有仓库
一、背景在日常开发中经常需要导入自己私有库的包文件,但是使用 GOPROXY=https://goproxy.cn,direct以后 默认下载包会从代理路径进行下载。私有仓库例如e.coding.net 不是httpswww.test:6000 不是 80端口173.9.78.90 直接ip这类的符合规范的宝路径可能会下载不出来那么要怎么处...
2021-10-13 00:09:54
2335
原创 K8s-入门系列一(虚拟机配置)
一、背景 在容器和微服务时代关于为什么使用docker,k8s等技术以及他得优缺点都有哪些本次不做一一阐述,在各大网站都有相应介绍。本人学习路程全篇参考知乎大佬 K8S入门 本次采用Win10+VirtualBox6.1 + Centos8 的测试部署环境配置如下name ip gateway 内存 centos1 172.16.24.48 172.16.24.1 2g centos0 172.16.24.145 ...
2021-09-28 14:10:18
1247
原创 centos 安装etcd
1、# 1.下载wget https://github.com/etcd-io/etcd/releases/download/v3.4.6/etcd-v3.4.6-linux-amd64.tar.gz# 2.解压tar -zxf etcd-v3.4.6-linux-amd64.tar.gz# 3.移动到bin目录mv etcd-v3.4.6-linux-amd64 /usr/local/etcd# 4.开启端口 2379 -需要外部访问的话可以firewall-cmd --zon
2021-09-22 17:33:39
893
原创 go-micro3.0教程(1)-Linux 下搭建环境
前言Go Micro是一个插件化的基础框架,基于此可以构建微服务,Micro的设计哲学是可插拔的插件化架构 在架构之外,它默认实现了consul作为服务发现(2019年源码修改了默认使用mdns),通过http进行通信,通过protobuf和json进行编解码安装 本次采用micro3.0 +golang 1.14.1+protoc 3.7.1的配置 首先安装microgo get github.com/micro/micro/v3安装完后 按如下如图就可以执行成功,成功后需要..
2021-08-20 23:47:07
1240
原创 Mysql实现汉字首字母大写搜索
一、需求 在KTV项目中需要针对歌手和歌名的拼音首字母大写进行搜索即 周杰伦x=》ZJLx 类似这种的模糊搜索。二、方案 1.在实现过程中其实有很多种,比如msyql中对name字段在加一个拼音的字段,用来专门存每个字符的首字母大写,在搜索的时候直接搜索该字段。这个方法可以只是在添加歌曲或者更新歌曲名的时候需要维护这个拼音字段不是很方便。 2.mysql在查询的时候将歌曲名字汉字首字母转拼音然后子查询。这个方法的好处是只需要在查询的时候做处理,不需要单独维护其他的字段。在...
2021-06-21 23:36:06
1420
原创 常用入门算法
一、冒泡排序:每次比较相邻两个数大小,然后交换, 一轮结束后,又从头开始 进行下一轮 (一共要 数组长度-1 轮 且每轮交换次数减少 并确定一个数子)func arrSort(arr [6]int) { for i := 0; i < len(arr); i++ { for j := 0; j < len(arr)-i-1; j++ { if arr[j] > arr[j+1] { arr[j+1], arr[j] = ar
2020-11-27 18:36:46
698
原创 centos 下使用jenkins部署go项目
一、jenkins 安装Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle等插件。使用起来也比较方便。在安装时需要安装java环境。yum install javawget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.r
2020-10-15 20:34:06
685
原创 nps配置http
一、背景为了调试微信开发,需要外网域名,每次上服务器其实还是很麻烦,之前用ngrok也挺方便 只是有点卡,这次换nps了,用起来还是很方便,本次只用http方面的功能二、安装准备工作需要提前做咱们依次介绍1.外网服务器。2.域名(rilu.top),解析*.rilu.top 到服务器3.下载服务端 nps下载地址 选择复合服务器类型的安装包 tar -zxvf linux_amd64_server.tar.gz4.解压服务文件修改nps.conf配置,里面有两个重要的配置,web的端口和客
2020-09-28 23:55:24
5106
原创 反射reflect实现自定义路由
一、背景在使用websocket功能的时候要实现根据不同的请求url,执行不同的方法。怎么样能简单一点呢?解决办法实际上golnag的 自带路由处理方式。只不过每次都要在里面处理,一个路由定义一个handleFunc方法,如果方法多了确实挺麻烦,每次都要添加go http.HandleFunc("/", onMessage)2.实用参数判断基根据每次url的不同来返回对应的结构体然后执行他的对应的方法,这个其实是简单的工厂模式。缺点就是如果该结构提的方法很多的话,调用的参数判断结构就很多哦而
2020-09-13 23:54:14
405
原创 golang中 []interface{}转[]uint64解决办法
一、问题在处理消息接收的时候,前段会传一个json,字段类型不定,其中一个里面userId字段是数组,所以后端在 map[string]interface{} 再解析后类型为[]interface{} 想直接转[]uint64 结果报错
2020-09-13 00:29:52
5057
原创 golang使用elasticsearch
本次主要采用单利模式生成elasticsearch 服务,然后服务自带put和delete方法。调用的时候需要先调用 NewElasticServer 方法生成该服务。后续再根据需要调用服务的方法。。package elasticimport ( "context" "ginweb/config" "ginweb/runtime" "github.com/olivere/elastic" "log" "os" "strconv" "sync")var host = config
2020-09-08 22:44:31
994
原创 golang使用grpc
介绍rpc是一种远程调用协议,在微服务框架中经常使用。其内部也是走的tcp协议,在数据传输过程中也根据数据序列化的不同分化不同数据传输的api比如jsonrpc,grpc。grpc是使用protocol buffers作为接口定义语言(IDL)和底层数据交换的格式。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。另外,通过protobuf可以将数据序列化为二进制编码,这会大幅减少需要传输的数据量,从而大幅提高性能protoc用protoc
2020-08-22 23:45:57
1511
原创 linux 安装protoc
介绍Protobuf 是 Google 公司内部的混合语言数据标准。他们用于 RPC 系统和持续数据存储系统。有高效的协议数据交换格式工具库(类似Json)。但相比于Json,Protobuf有更高的转化效率,时间效率和空间效率都是JSON的3-5倍。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 、OC、Swift等语言的 API。相对于json的阅读性好来说,protoc更注重与数据交换的性能。安装github下载相
2020-08-20 23:21:40
4531
1
原创 pip install遇到Read time out问题解决
一、问题在使用pip install 安装模块的时候 有时候会出现的问题,此时只需要换一下下载源就行pip install -i htps://pypi.tuna.tsinghua.edu.cn/simple mysql最后是需要下载的模块,这样就能很快下载。国内的一些源: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) h
2020-08-11 23:47:41
429
原创 golang-使用nsq消息队列
一、介绍NSQ是一个基于Go语言的分布式实时消息平台, 它具有分布式、去中心化的拓扑结构,支持无限水平扩展。无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征。另外,NSQ非常容易配置和部署, 且支持众多的消息协议。支持多种客户端,协议简单,但是nsq是无序的,就是消息的接受不一定根据发送的顺序,如果对顺序有要求的建议不要使用官网地址二、安装本次我是采用docker-compose安装的具体编排nsq.yml文件如下:version: '3' services: n
2020-08-10 23:51:22
1228
原创 react-native环境配置工具下载
react-native win环境配置工具下载名称下载地址python2.7链接:https://pan.baidu.com/s/1DhInzzR-FNV2i77qqNsX4A 提取码:jg7knode 14.v链接:https://pan.baidu.com/s/1orhGQ4CRRdVKvTV_QnRd2Q 提取码:thk4android-studio链接:https://pan.baidu.com/s/1FcZIAHz45l8gSWZmQeT_TQ 提取码:
2020-07-18 14:01:32
388
原创 python修改excel保留文件样式的操作
问题python操作execl是非常方便的他有很多的包, 比如 xlrd, xlwt这两个。不过在使用过程中遇到一个问题就是如果原文件有样式的话,再修改后,会导致原来的样式失效。解决办法1.在打开的文件的需要加一个 参数 work_book = xlrd.open_workbook('用户标识.xlsx',formatting_info=True)可能加上这几有时候还会遇到其他的问题比如:这里需是包源文件里的编码类型判断不全,需要修改一下就好了,找到site-package/xlwr/
2020-07-12 15:07:33
3583
原创 JAVA SDK安装
看这个 https://www.cnblogs.com/ring1992/p/8551976.html下载地址:链接: https://pan.baidu.com/s/1bJKfKzY2QTXbBYPCE0M36g 提取码: k7yd
2020-06-01 11:27:12
853
原创 docker配置elasticsearch
背景搜索这块公司一直用的阿里云的opensearch也挺方便的,但是很贵量一上来直接抗不住。于是目标投向elasticsearch。问题具体细节有片不错的文档 docker部署elasticearch自己用docker部署了一遍,遇到的坑还是有的。比如添加head插件后没法访问显示跨域,是因为服务端没有设置跨域配置需要去config目录下的vi elasticsearch.yml 文件...
2020-04-26 00:12:01
1384
原创 php配置 xhprof性能分析工具
工具xhprof是一款性能分析工具,在php开发中可以精确分析到每行代码每个方法所消耗的时间和性能等。安装我是在本地使用phpstudy的php7.3.4nts 集成环境,若你要是linux环境可以参考xhprof安装和使用方法下载方式你可以选择官网下载 下载 选择合适你的版本csdn下载我的百度网盘 下载 提取码 i705下载好后将php_xhprof.dll 文件配置在本地...
2020-04-16 15:17:34
492
原创 golang 与swoole的区别
golang 与swoole的区别关于语言golang使用静态语言,编写麻烦,单效率高,多用于io密集型计算swoole php是动态解释执行的,语言性能较差,不适合密集计算程序关于IOgolang使用单线程eventloop处理IO事件,多线程协程调度运行用户代码swoole使用多线程eventloop处理IO事件,多进程执行用户代码###关于协程golang语言层面支持多线程,...
2020-04-15 15:46:07
1475
原创 git pull 每次输入密码解决办法
每次git pull/push 拉代码都要输入账号和密码?git config --global credential.helper store然后执行一下就 git pull就好了
2020-04-04 22:13:02
523
原创 django出现Did you install mysqlclient?
问题描述django出现Did you install mysqlclient在做django安装时,运行python manage.py runserver 0.0.0.0:3000启动服务的时候会出现但是执行pip install mysqlclient的时候又报错这就让人很头大,python处理事情确实很方便,但是有些地方和细节方面确实有很多的坑.这个问题大部分的原因...
2020-04-03 22:35:32
7983
1
转载 nginx与php交互示意图
nginx与php交互示意图1图片2解析1图片2解析如上图所示,FastCGI的下游,是CGI-APP,在我们的LNMP架构里,这个CGI-APP就是PHP程序。而FastCGI的上游是Nginx,他们之间有一个通信载体,即图中的socket。在我们上文图3的配置文件中,fastcgi_pass所配置的内容,便是告诉Nginx你接收到用户请求以后,你该往哪里转发,在我们图3中是转发到本机的...
2020-03-19 14:17:27
405
1
原创 nginx配置websocket
server { listen 80; server_name aaa.bbb.com; # 你的网址名称 # 转发websocket需要的设置 proxy_set_header X-Real_IP $remote_addr; proxy_set_header Host $host; proxy_se...
2019-11-25 11:09:42
257
webrtc一对一视频项目dome
2022-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人