<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sueRimn的博客]]></title><description><![CDATA[做人嘛，最重要的是开心~]]></description><link>https://blog.youkuaiyun.com/sueRimn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sueRimn]]></copyright><item><title><![CDATA[vue — 课程表]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/115522033</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/115522033</guid><author>sueRimn</author><pubDate>Thu, 08 Apr 2021 15:48:06 +0800</pubDate><description><![CDATA[功能需求是：在有对接数据的情况下显示该课程表，默认显示当前周的七天数据，并且当天的列要呈淡黄色背景。可以选择日期，必须七天，多了少了都会提示，这个是根据vant的日期选择组件进行小改动实现的，具体实现效果如下。

这是默认当前周的显示：





这是选择少于七天的提示信息，并且确定按钮不可点击：



跟后端沟通，设计的返回数据结构如下：


timeTable: {
                // 返回7天对应的周几数组
                weekday: ["周四", "周五"..]]></description><category></category></item><item><title><![CDATA[Vue cli3+Mongodb+node.js/express的登录功能]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/103160637</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/103160637</guid><author>sueRimn</author><pubDate>Wed, 20 Nov 2019 13:13:54 +0800</pubDate><description><![CDATA[我的项目是Vue Cli3+Electron+Antd+Mongodb+express

Mongodb和Studio 3T官网下载后安装。具体可谷歌或百度。然后启动Mongodb
然后打开Studio 3T，连接数据库端口，右键新建一个数据库，我这里新建的数据库为login。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-olql8TPG-15742267565...]]></description><category></category></item><item><title><![CDATA[Node.js/Express+Socket.js：服务器响应状态404解决办法]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/103160612</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/103160612</guid><author>sueRimn</author><pubDate>Wed, 20 Nov 2019 13:11:20 +0800</pubDate><description><![CDATA[我使用的是node.js/Express+Socket.io搭建的基本服务，启动项目后使用登录等接口都没有问题，但是控制台一直在报这样的错误：
http://localhost:8080/socket.io/?EIO=3&amp;transport=polling&amp;t=Mw6XCn5 404 (Not Found)

我的server.js文件如下：
const express = req...]]></description><category></category></item><item><title><![CDATA[css元素居中完全指南]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/101533636</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/101533636</guid><author>sueRimn</author><pubDate>Fri, 27 Sep 2019 14:30:11 +0800</pubDate><description><![CDATA[如有错误请指正，更多内容查看GitHub

一、元素分类
首先要知道元素分三种：内联元素（行内元素）、块级元素、内联块级元素。
1、内联（行内）元素

可与其他元素占一行
高、行高、内外边距不可更改
宽度为内容所占宽度，不可更改
容纳文本或其他行内元素

2、块级元素

独占一行
高、行高、内外边距可更改
不设置宽度的话宽度默认为容器的100%
可容纳行内元素和块级元素

3、内联块级元素

可...]]></description><category></category></item><item><title><![CDATA[JavaScript漫谈之你应该要知道的十大JavaScript数组方法]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/100894837</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/100894837</guid><author>sueRimn</author><pubDate>Mon, 16 Sep 2019 17:25:22 +0800</pubDate><description><![CDATA[查看原文
更多内容请关注GitHub

1、forEach()
循环遍历数组
const ARR = [1, 2, 3, 4, 5];
ARR.forEach(item =&gt; {
    console.log(item);// 1, 2, 3, 4, 5
})

2、includes()
检查数组是否包含方法中传递的项
const ARR = [1, 2, 3, 4, 5];
ARR.i...]]></description><category></category></item><item><title><![CDATA[JavaScript漫谈之理解类型操作符typeof]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/100755742</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/100755742</guid><author>sueRimn</author><pubDate>Wed, 11 Sep 2019 15:40:00 +0800</pubDate><description><![CDATA[在本文中，将简述JavaScript类型系统和数据类型，以及如何使用typeof操作符执行类型检查。
还讲解了使用typeof操作符进行某些数据类型检查是不完善的，并介绍其他几种类型检查的方法。
更多内容欢迎关注GitHub

每种编程语言都有自己的类型系统和数据类型，但各种编程语言的数据结构常有不同之处。使用JavaScript时，其引擎会在脚本执行期间隐式强制转换执行值的类型...]]></description><category></category></item><item><title><![CDATA[JavaScript漫谈之执行上下文与this]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/100691961</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/100691961</guid><author>sueRimn</author><pubDate>Tue, 10 Sep 2019 10:47:31 +0800</pubDate><description><![CDATA[this，即当前执行代码的环境对象。
换句话说，执行的每个JavaScript函数都有对其当前执行上下文的引用，称为this。
一、执行上下文
执行上下文代表函数的调用方式，大多数情况下，函数的调用方式决定了this的值。即，执行上下文决定了this的值。
要理解这个关键字this，只需要this取决于函数的调用方式，跟函数声明以及声明位置没关系。
比如看下面这段代码：
function per...]]></description><category></category></item><item><title><![CDATA[详记CSRF攻击与XSS攻击]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/100540292</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/100540292</guid><author>sueRimn</author><pubDate>Wed, 04 Sep 2019 15:37:56 +0800</pubDate><description><![CDATA[一、CSRF（跨站请求伪造）
是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
1、攻击过程
跨站请求攻击，简单地说，是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作（如发邮件，发消息，甚至财产操作如转账和购买商品）。这个过程可以这样来看：

用户登录了sueRimn.com，并保留了登录凭证（Cookie）
攻击者引诱用户点击访问了sb...]]></description><category></category></item><item><title><![CDATA[openlayers学习笔记（十三）—异步调用JSON数据画点、文字标注与连线]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/100311916</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/100311916</guid><author>sueRimn</author><pubDate>Mon, 02 Sep 2019 16:36:53 +0800</pubDate><description><![CDATA[使用Openlayers 3实现调用本地json数据在地图上添加点、文字标注以及连线。

生成底图地图
首先得有一个地图作为底图，代码如下：
let vectorSource = new ol.source.Vector({
            wrapX: false
        });
const rootLayer = new ol.layer.Tile({
     source:...]]></description><category></category></item><item><title><![CDATA[科大讯飞语音听写—JavaScript]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/100134349</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/100134349</guid><author>sueRimn</author><pubDate>Thu, 29 Aug 2019 11:28:47 +0800</pubDate><description><![CDATA[查看科大讯飞语音听写demo即可看见最新的js demo，适用于前端。直接下载即可食用。
贴上主要代码：
index.html
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;

&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=...]]></description><category></category></item><item><title><![CDATA[语音识别—前端录音传给后台语音识别]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/100123338</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/100123338</guid><author>sueRimn</author><pubDate>Wed, 28 Aug 2019 17:20:08 +0800</pubDate><description><![CDATA[实现前端录音，将音频blob传给服务器，然后在服务器端使用百度AI语音识别将结果返回给前端

上一篇文章是将百度AI语音识别Nodejs SDK版的进行了一遍演示加识别结果返回给前端显示，这里是完整的进行前端录音，然后将压缩后的音频对象Blob传给服务器，在服务端使用百度AI语音识别，最后将识别结果返回给前端进行显示。
本篇调用的是第三方库Recorder.js，如何调用该库捕获HTML5中的W...]]></description><category></category></item><item><title><![CDATA[语音识别—实现百度语音识别]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/100031987</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/100031987</guid><author>sueRimn</author><pubDate>Fri, 23 Aug 2019 10:23:10 +0800</pubDate><description><![CDATA[采用前端录音，Websocket搭建Node服务器，音频对象Blob使用Websocket传给后端服务器后写入本地音频文件，然后调用百度AI语音识别本地音频文件，最后将识别结果传给前端显示。

百度语音识别
查看文档知道了我想要的信息，如果想要实现实时语音识别、长时间段的语音、唤醒词功能、语义解析功能，需要使用Android、IOS SDK或者Linux C++ SDK版本，而我使用的Nodej...]]></description><category></category></item><item><title><![CDATA[Python 语音识别]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/98742928</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/98742928</guid><author>sueRimn</author><pubDate>Wed, 07 Aug 2019 13:51:23 +0800</pubDate><description><![CDATA[调用科大讯飞语音听写，使用Python实现语音识别，将实时语音转换为文字。

参考这篇博客实现的录音，首先在官网下载了关于语音听写的SDK，然后在文件夹内新建了两个.py文件，分别是get_audio.py和iat_demo.py，并且新建了一个存放录音的文件夹audios，文件夹内存放录音文件input.wav，我的整个文件目录如下：
asr_SDK(文件名)
├─ Readme.html
├...]]></description><category></category></item><item><title><![CDATA[Python 无法安装PyAudio问题]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/98500352</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/98500352</guid><author>sueRimn</author><pubDate>Mon, 05 Aug 2019 17:13:14 +0800</pubDate><description><![CDATA[一、错误与原因
在Windows上没有用于Python 3.7的轮子（预构建包）（有一个用于Python 2.7和3.4到3.6），因此需要在PC上准备构建环境以使用此包。因为有些软件包很难在Windows上构建，所以找到3.7的轮子更容易一些。
这是安装时报的错：
&gt; pip3 install pyaudio
Collecting pyaudio
  Using cached https:...]]></description><category></category></item><item><title><![CDATA[webRTC脱坑笔记（四）— windows下Nginx对Node服务的反向代理]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/97397188</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/97397188</guid><author>sueRimn</author><pubDate>Fri, 26 Jul 2019 17:19:11 +0800</pubDate><description><![CDATA[Nginx反向代理
1、什么是反向代理
当我们有一个服务器集群，并且服务器集群中的每台服务器的内容一样的时候，同样我们要直接从个人电脑访问到服务器集群服务器的时候无法访问，必须通过第三方服务器才能访问集群
这个时候，我们通过第三方服务器访问服务器集群的内容，但是我们并不知道是哪一台服务器提供的内容，此种代理方式称为**反向代理
2、什么是负载均衡
公司会建立很多的服务器，这些服务器组成了服务器集群...]]></description><category></category></item><item><title><![CDATA[webRTC脱坑笔记（三）— webRTC API之RTCPeerConnection]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/96477354</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/96477354</guid><author>sueRimn</author><pubDate>Fri, 19 Jul 2019 11:29:11 +0800</pubDate><description><![CDATA[RTCPeerConnection API是每个浏览器之间点对点连接的核心，RTCPeerConnection是WebRTC组件，用于处理对等体之间流数据的稳定和有效通信。
RTCPeerConnection可以保护Web开发人员免受潜伏在其中的无数复杂性的影响。WebRTC使用的编解码器和协议可以进行大量工作，即使在不可靠的网络上也可以进行实时通信：

丢包隐藏
回声消除
带宽适应性
动态抖动缓...]]></description><category></category></item><item><title><![CDATA[webRTC脱坑笔记（二）— webRTC API之MediaStream(getUserMedia)]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/96474559</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/96474559</guid><author>sueRimn</author><pubDate>Fri, 19 Jul 2019 10:24:46 +0800</pubDate><description><![CDATA[webRTC API
WebRTC API包括媒体捕获、音频视频的编码和解码、传输层和会话管理。

getUserMedia()：捕获音频和视频。
MediaRecorder：录制音频和视频。
RTCPeerConnection：在用户之间传输音频和视频。
RTCDataChannel：用户之间的流数据。



1.媒体捕获MediaStream（又名getUserMedia）
MediaStre...]]></description><category></category></item><item><title><![CDATA[webRTC脱坑笔记（一）— 初识webRTC]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/96474412</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/96474412</guid><author>sueRimn</author><pubDate>Fri, 19 Jul 2019 09:45:54 +0800</pubDate><description><![CDATA[webRTC概述
WebRTC--- Web browsers with Real-Time Communications (RTC
WebRTC是一个开源项目，可以在Web和本机应用程序中实现音频，视频和数据的实时通信。
在Firefox，Opera和Chrome桌面和Android上。WebRTC也可用于iOS和Android上的本机应用程序。
有了WebRTC ，不需要任何插件或第三方软件来...]]></description><category></category></item><item><title><![CDATA[Electron-vue实战（二）— 请求Mock数据渲染页面]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/94680290</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/94680290</guid><author>sueRimn</author><pubDate>Thu, 04 Jul 2019 09:33:00 +0800</pubDate><description><![CDATA[Electron-vue实战（二）— 请求Mock数据渲染页面
作者：狐狸家的鱼
本文链接
GitHub：sueRimn

一、环境搭建


1、安装Mock.js


如果仅仅用作脱离后台的模拟数据，就安装在开发环境中：



npm install mockjs -D



2、安装axios-mock-adapter


axios-moc...]]></description><category></category></item><item><title><![CDATA[Ubuntu上安装Git]]></title><link>https://blog.youkuaiyun.com/sueRimn/article/details/94583141</link><guid>https://blog.youkuaiyun.com/sueRimn/article/details/94583141</guid><author>sueRimn</author><pubDate>Wed, 03 Jul 2019 17:55:47 +0800</pubDate><description><![CDATA[1、安装git
apt-get install git

2、配置git
git config --global user.name "xxx"
git config --global user.email "你的邮箱地址"

3、创建公钥
进入~/.sss目录
cd ~/.ssh

查看是否有ssh key，如果输出为konwn _hosts，代表没有id_rsa、id_rsa.pub文件，没有...]]></description><category></category></item></channel></rss>