diff --git a/dev/content/_posts/computer/Basic_web_rtc_knowledge.md b/dev/content/_posts/computer/Basic_web_rtc_knowledge.md new file mode 100644 index 0000000..1b4fba4 --- /dev/null +++ b/dev/content/_posts/computer/Basic_web_rtc_knowledge.md @@ -0,0 +1,85 @@ +--- +date: '2024-04-04' +slug: +tags: +- computer +title: 直播领域技术架构 +description: 码率,丢包率,旁路,推流 +author: Oliver-Liu, Tongdada, LiuTong, 刘彤 +location: Beijing +image: https://cdn.pixabay.com/photo/2020/03/30/17/15/funes-4984899_960_720.jpg +meta: + - name: title + content: 关于webRTC各个名词介绍 + - name: description + content: 码率,丢包率,旁路,推流 + - name: keywords + content: webRTC + - name: author + content: Oliver-Liu, Tongdada, LiuTong, 刘彤 + - name: language + content: Chinese +featured: false +--- + +## 推拉流 + +

+ +

+ +

+ +

+ +### HLS + +Http Live streaming, 苹果推出的一个基于HTTP协议的直播方案,原理也是切成m3u8小文件,收流端按顺序下载然后播放。 + +这种延迟时间取决于文件块的大小,但是大小又和整体的网络环境有关。综合情况下延迟比较高,一般在10 - 30S之间。 + +耗时主要在生成和上传ts文件,ts文件是音视频流内容。生成并上传了数个ts文件后,会把他们写到一个manifest文件中,一般称为m3u8文件,这里边包含一些meta信息还有生成的HTTP URL TS文件列表。 + +对收流端来说,如果是一对多的直播,生成时间是稳定的,把一段时间的内的视频 chunk 推到 CDN 并同步对应下载地址列表就可以,主要耗时是生成 -> 上传ts文件过程。 + +但对下载时间来说,客户端要等至少下载完,并且下载完两个片段才可播放。只是为了无缝衔接两个文件中的过渡。 + +总体来看,兼容性高,并且成本也不高。就是延迟大。适合对实时性要求不高,只直播,无信令的场景,这种情况不会感受到视频和消息的延迟差异。 + +### RTMP + +Real Time Mssaging Protocal,用TCP协议做通道,上层封装了自己的应用层协议。传输速度并不慢,因为是实时消息传输,相比于 HLS 要快很多了,延迟基本在5S左右。 + +RTMP是Adobe发布的,流行于flash时代。但flash没落了之后,客户端很少有能直接使用RTMP收流的,基本都配合其他协议去接收。比如HLS,FLV。 + +推流端,RTMP依旧是行业的主力,还有在视频监控等领域广泛被使用。 + +实现和部署的话,也很简单,搭个Nginx,然后配置上RTMP的环境,一个可以接收 & 分发 RTMP流的服务器就有了。 + +推流端首先encode视频流成一块 Message,然后循环这个操作发送到服务端。 + +现在很多直播平台基本都兼容 RTMP 推流,在 OBS 中可以直接设置推流到的服务端地址。 + +### FLV + +Flv 也是 Adobe 发明的,起初作为Flash的数据格式内容,直到目前大多数直播方案的音视频服务也都是用的FLV数据容器传输。 + +为什么呢,因为格式方便解析,通用型好,相比于上边提到的用 m3u8 封装的 ts文件,flv文件本身就包含了meta信息,和音视频信息。 + +## WebRTC + +Web Real-Time Communication, WebRTC 是为了 P2P 即时通许设计的,完全兼容现代的浏览器。但在两个浏览器中直接实现 WebRTC 是不现实的,需要配合打洞,一般情况下 +客户端的网络是不具备接收外部的网络请求的,只能发送。 + +主流的方式是推送到服务端,由服务端分发流,而分发又分几种,分发的是 WebRTC协议数据还是通过 FLV,HLS经过CDN下发呢。前者成本很高,比较适合人数较少的直播场景。 + +但万人直播间,直接使用WebRTC发流是不现实的。成本太高。 + +大多数使用第二种方法,或者自己实现一个基于C端的P2P技术减少服务器的带宽支持,协议还是使用WebRTC。这么做成本比较低,实时性能得到保证,比较复杂的是 +策略设计,比如每个用户群体之间他们的流能不能共用,还有客户端的打洞发布。 + +## MCU + +MCU 一般用在多个媒体流场景,就像直播间连麦,四五个主播一起开摄像头,麦克风,这种情况对观众来说是接收四股流,还是一股呢,当然是一股比较好。但是一股的话就需要合并音视频流, + +MCU就是在服务端做的一层编解码合并音视频操作。通过增加服务器的算力,减少观众的流量消耗。 \ No newline at end of file diff --git a/dev/content/_posts/css/all-about-emoji.md b/dev/content/_posts/computer/all-about-emoji.md similarity index 99% rename from dev/content/_posts/css/all-about-emoji.md rename to dev/content/_posts/computer/all-about-emoji.md index 8f1b44b..2216c47 100644 --- a/dev/content/_posts/css/all-about-emoji.md +++ b/dev/content/_posts/computer/all-about-emoji.md @@ -3,7 +3,6 @@ date: '2020-04-01' slug: all-about-in-emoji tags: - web -- mobile title: All about in emoji author: Oliver Liu location: Beijing; diff --git a/dev/content/_posts/computer/conclution_of_charcode.md b/dev/content/_posts/computer/conclution_of_charcode.md index 4c749cd..16140ec 100644 --- a/dev/content/_posts/computer/conclution_of_charcode.md +++ b/dev/content/_posts/computer/conclution_of_charcode.md @@ -3,7 +3,6 @@ date: '2022-08-15' slug: conclusion_of_charcode tags: - computer -- unicode title: 关于编码的总结 author: Oliver location: Beijing; diff --git a/dev/content/_posts/mobile/css-units.md b/dev/content/_posts/computer/css-units.md similarity index 99% rename from dev/content/_posts/mobile/css-units.md rename to dev/content/_posts/computer/css-units.md index 600cc48..a06f08f 100644 --- a/dev/content/_posts/mobile/css-units.md +++ b/dev/content/_posts/computer/css-units.md @@ -2,8 +2,7 @@ date: '2018-07-14' slug: css units tags: -- mobile -- unicode +- web title: css units description: css 适配单位 author: Oliver diff --git a/dev/content/_posts/mobile/dpr.md b/dev/content/_posts/computer/dpr.md similarity index 99% rename from dev/content/_posts/mobile/dpr.md rename to dev/content/_posts/computer/dpr.md index 5421050..c81b50e 100644 --- a/dev/content/_posts/mobile/dpr.md +++ b/dev/content/_posts/computer/dpr.md @@ -2,8 +2,7 @@ date: '2018-07-29' slug: dpr介绍 tags: -- mobile -- unicode +- web title: css units description: dpr介绍 author: Oliver diff --git "a/dev/content/_posts/node/nodeJS\351\235\242\350\257\225\351\227\256\351\242\230\346\225\264\347\220\206.md" "b/dev/content/_posts/computer/nodeJS\351\235\242\350\257\225\351\227\256\351\242\230\346\225\264\347\220\206.md" similarity index 100% rename from "dev/content/_posts/node/nodeJS\351\235\242\350\257\225\351\227\256\351\242\230\346\225\264\347\220\206.md" rename to "dev/content/_posts/computer/nodeJS\351\235\242\350\257\225\351\227\256\351\242\230\346\225\264\347\220\206.md" diff --git "a/dev/content/_posts/node/node\345\220\204\344\270\252\347\216\257\345\242\203\345\217\230\351\207\217\350\257\246\350\247\243.md" "b/dev/content/_posts/computer/node\345\220\204\344\270\252\347\216\257\345\242\203\345\217\230\351\207\217\350\257\246\350\247\243.md" similarity index 100% rename from "dev/content/_posts/node/node\345\220\204\344\270\252\347\216\257\345\242\203\345\217\230\351\207\217\350\257\246\350\247\243.md" rename to "dev/content/_posts/computer/node\345\220\204\344\270\252\347\216\257\345\242\203\345\217\230\351\207\217\350\257\246\350\247\243.md" diff --git a/dev/content/_posts/node/peerDependencies.md b/dev/content/_posts/computer/peerDependencies.md similarity index 100% rename from dev/content/_posts/node/peerDependencies.md rename to dev/content/_posts/computer/peerDependencies.md diff --git a/dev/content/_posts/mobile/pixel.md b/dev/content/_posts/computer/pixel.md similarity index 99% rename from dev/content/_posts/mobile/pixel.md rename to dev/content/_posts/computer/pixel.md index 34e67b0..fdacbad 100644 --- a/dev/content/_posts/mobile/pixel.md +++ b/dev/content/_posts/computer/pixel.md @@ -2,8 +2,7 @@ date: '2018-07-21' slug: 像素到底是什么? tags: -- mobile -- unicode +- web title: 像素到底是什么? description: 像素到底是什么? author: Oliver diff --git a/dev/content/_posts/mobile/retina.md b/dev/content/_posts/computer/retina.md similarity index 99% rename from dev/content/_posts/mobile/retina.md rename to dev/content/_posts/computer/retina.md index fb9f5a9..8636ab0 100644 --- a/dev/content/_posts/mobile/retina.md +++ b/dev/content/_posts/computer/retina.md @@ -2,8 +2,7 @@ date: '2018-07-16' slug: 视网膜屏幕简单介绍 tags: -- mobile -- unicode +- web title: 视网膜屏幕简单介绍 description: 视网膜屏幕简单介绍 author: Oliver diff --git a/dev/content/_posts/mobile/scan.md b/dev/content/_posts/computer/scan.md similarity index 99% rename from dev/content/_posts/mobile/scan.md rename to dev/content/_posts/computer/scan.md index 5435084..2a9e247 100644 --- a/dev/content/_posts/mobile/scan.md +++ b/dev/content/_posts/computer/scan.md @@ -2,8 +2,7 @@ date: '2018-07-15' slug: 屏幕渲染原理-扫描 tags: -- mobile -- css +- web title: 屏幕渲染原理-扫描 description: 屏幕渲染原理-扫描 author: Oliver diff --git "a/dev/content/_posts/netwrok/\345\205\263\344\272\216\346\210\221\351\201\207\345\210\260\347\232\204\344\270\200\344\270\252DNS\351\227\256\351\242\230.md" "b/dev/content/_posts/computer/\345\205\263\344\272\216\346\210\221\351\201\207\345\210\260\347\232\204\344\270\200\344\270\252DNS\351\227\256\351\242\230.md" similarity index 99% rename from "dev/content/_posts/netwrok/\345\205\263\344\272\216\346\210\221\351\201\207\345\210\260\347\232\204\344\270\200\344\270\252DNS\351\227\256\351\242\230.md" rename to "dev/content/_posts/computer/\345\205\263\344\272\216\346\210\221\351\201\207\345\210\260\347\232\204\344\270\200\344\270\252DNS\351\227\256\351\242\230.md" index 09797c8..cc92dae 100644 --- "a/dev/content/_posts/netwrok/\345\205\263\344\272\216\346\210\221\351\201\207\345\210\260\347\232\204\344\270\200\344\270\252DNS\351\227\256\351\242\230.md" +++ "b/dev/content/_posts/computer/\345\205\263\344\272\216\346\210\221\351\201\207\345\210\260\347\232\204\344\270\200\344\270\252DNS\351\227\256\351\242\230.md" @@ -2,7 +2,7 @@ date: '2020-06-19' slug: 关于遇到的一个DNS查询问题 tags: -- network +- computer title: 关于遇到的一个DNS查询问题 author: Oliver Liu location: Beijing; diff --git "a/dev/content/_posts/css/\345\210\250\346\236\220\347\274\223\345\212\250\345\207\275\346\225\260.md" "b/dev/content/_posts/computer/\345\210\250\346\236\220\347\274\223\345\212\250\345\207\275\346\225\260.md" similarity index 99% rename from "dev/content/_posts/css/\345\210\250\346\236\220\347\274\223\345\212\250\345\207\275\346\225\260.md" rename to "dev/content/_posts/computer/\345\210\250\346\236\220\347\274\223\345\212\250\345\207\275\346\225\260.md" index 8ea9796..72eaa12 100644 --- "a/dev/content/_posts/css/\345\210\250\346\236\220\347\274\223\345\212\250\345\207\275\346\225\260.md" +++ "b/dev/content/_posts/computer/\345\210\250\346\236\220\347\274\223\345\212\250\345\207\275\346\225\260.md" @@ -3,7 +3,6 @@ date: '2023-04-01' slug: css之缓动函数 tags: - web -- mobile title: css之缓动函数 author: Oliver Liu location: Beijing; diff --git "a/dev/content/_posts/node/\350\200\201\346\216\211\347\211\231\347\232\204\344\272\213\344\273\266\351\230\237\345\210\227(\345\271\263\346\260\221\347\211\210).md" "b/dev/content/_posts/computer/\350\200\201\346\216\211\347\211\231\347\232\204\344\272\213\344\273\266\351\230\237\345\210\227(\345\271\263\346\260\221\347\211\210).md" similarity index 100% rename from "dev/content/_posts/node/\350\200\201\346\216\211\347\211\231\347\232\204\344\272\213\344\273\266\351\230\237\345\210\227(\345\271\263\346\260\221\347\211\210).md" rename to "dev/content/_posts/computer/\350\200\201\346\216\211\347\211\231\347\232\204\344\272\213\344\273\266\351\230\237\345\210\227(\345\271\263\346\260\221\347\211\210).md" diff --git "a/dev/content/_posts/java/jwt\347\232\204\344\275\277\347\224\250.md" "b/dev/content/_posts/java/jwt\347\232\204\344\275\277\347\224\250.md" deleted file mode 100644 index b710865..0000000 --- "a/dev/content/_posts/java/jwt\347\232\204\344\275\277\347\224\250.md" +++ /dev/null @@ -1,24 +0,0 @@ ---- -date: '2017-05-05' -slug: Javascript Symbol 隐匿的未来之星 -tags: -- javascript -title: Javascript Symbol 隐匿的未来之星 -author: Oliver -location: Beijing; -image: https://cdn.pixabay.com/photo/2020/03/27/15/14/monastery-4973851_960_720.jpg -meta: - - name: title - content: Javascript Symbol 隐匿的未来之星 - - name: description - content: Javascript Symbol 隐匿的未来之星 - - name: keywords - content: Javascript, js, es6, symbol - - name: author - content: 刘彤, aflyingpig, Oliver Liu. - - name: language - content: Chinese -featured: false ---- - -Waiting for writing. diff --git "a/dev/content/_posts/javascript/JS\344\270\255\345\246\202\344\275\225\345\207\206\347\241\256\345\210\244\346\226\255\346\225\260\346\215\256\347\261\273\345\236\213.md" "b/dev/content/_posts/javascript/JS\344\270\255\345\246\202\344\275\225\345\207\206\347\241\256\345\210\244\346\226\255\346\225\260\346\215\256\347\261\273\345\236\213.md" index 0e2bf9b..4e7b11a 100644 --- "a/dev/content/_posts/javascript/JS\344\270\255\345\246\202\344\275\225\345\207\206\347\241\256\345\210\244\346\226\255\346\225\260\346\215\256\347\261\273\345\236\213.md" +++ "b/dev/content/_posts/javascript/JS\344\270\255\345\246\202\344\275\225\345\207\206\347\241\256\345\210\244\346\226\255\346\225\260\346\215\256\347\261\273\345\236\213.md" @@ -2,7 +2,7 @@ date: '2016-10-14' slug: JS中如何准确判断数据类型 tags: -- javascript +- web title: JS中如何准确判断数据类型 author: Oliver location: Beijing; @@ -27,7 +27,7 @@ featured: false >我们讲过JS的几大数据类型,也用typeof查看了几个简单的数据类型值。那么今天我们再来更宽泛的了解一下这方面的知识。请看如下代码。 - + ``` var num = 123; var str = 'aflypig'; diff --git "a/dev/content/_posts/javascript/JavaScript \345\260\201\350\243\205\345\257\271\350\261\241\344\270\216\345\274\272\345\210\266\347\261\273\345\236\213\350\275\254\346\215\242.md" "b/dev/content/_posts/javascript/JavaScript \345\260\201\350\243\205\345\257\271\350\261\241\344\270\216\345\274\272\345\210\266\347\261\273\345\236\213\350\275\254\346\215\242.md" index 6c55adc..893ed1b 100644 --- "a/dev/content/_posts/javascript/JavaScript \345\260\201\350\243\205\345\257\271\350\261\241\344\270\216\345\274\272\345\210\266\347\261\273\345\236\213\350\275\254\346\215\242.md" +++ "b/dev/content/_posts/javascript/JavaScript \345\260\201\350\243\205\345\257\271\350\261\241\344\270\216\345\274\272\345\210\266\347\261\273\345\236\213\350\275\254\346\215\242.md" @@ -2,7 +2,7 @@ date: '2017-05-05' slug: JavaScript 封装对象与强制类型转换 tags: -- javascript +- web title: JavaScript 封装对象与强制类型转换 author: Oliver location: Beijing; diff --git "a/dev/content/_posts/javascript/JavaScript\347\261\273\345\236\213\344\273\213\347\273\215.md" "b/dev/content/_posts/javascript/JavaScript\347\261\273\345\236\213\344\273\213\347\273\215.md" index 1e8a09d..d9e6e69 100644 --- "a/dev/content/_posts/javascript/JavaScript\347\261\273\345\236\213\344\273\213\347\273\215.md" +++ "b/dev/content/_posts/javascript/JavaScript\347\261\273\345\236\213\344\273\213\347\273\215.md" @@ -2,7 +2,7 @@ date: '2017-03-18' slug: JavaScript 类型介绍 tags: -- javascript +- web title: JavaScript 类型介绍 author: Oliver location: Beijing; diff --git "a/dev/content/_posts/javascript/Javascript Symbol \351\232\220\345\214\277\347\232\204\346\234\252\346\235\245\344\271\213\346\230\237.md" "b/dev/content/_posts/javascript/Javascript Symbol \351\232\220\345\214\277\347\232\204\346\234\252\346\235\245\344\271\213\346\230\237.md" index 1237cad..2b7d0b1 100644 --- "a/dev/content/_posts/javascript/Javascript Symbol \351\232\220\345\214\277\347\232\204\346\234\252\346\235\245\344\271\213\346\230\237.md" +++ "b/dev/content/_posts/javascript/Javascript Symbol \351\232\220\345\214\277\347\232\204\346\234\252\346\235\245\344\271\213\346\230\237.md" @@ -2,7 +2,7 @@ date: '2017-05-05' slug: Javascript Symbol 隐匿的未来之星 tags: -- javascript +- web title: Javascript Symbol 隐匿的未来之星 author: Oliver location: Beijing; diff --git "a/dev/content/_posts/javascript/Promise\347\232\204\345\215\201\344\270\252\344\275\277\347\224\250\347\246\201\344\273\244.md" "b/dev/content/_posts/javascript/Promise\347\232\204\345\215\201\344\270\252\344\275\277\347\224\250\347\246\201\344\273\244.md" index 07c9b63..a1b3dfc 100644 --- "a/dev/content/_posts/javascript/Promise\347\232\204\345\215\201\344\270\252\344\275\277\347\224\250\347\246\201\344\273\244.md" +++ "b/dev/content/_posts/javascript/Promise\347\232\204\345\215\201\344\270\252\344\275\277\347\224\250\347\246\201\344\273\244.md" @@ -2,7 +2,7 @@ date: '2020-06-03' slug: Promise的十个使用禁令 tags: -- javascript +- web title: Promise的十个使用禁令 author: Oliver Liu location: Beijing; diff --git a/dev/content/_posts/javascript/practicing-lerna.md b/dev/content/_posts/javascript/practicing-lerna.md index cdfd379..5bc1464 100644 --- a/dev/content/_posts/javascript/practicing-lerna.md +++ b/dev/content/_posts/javascript/practicing-lerna.md @@ -2,7 +2,7 @@ date: '2020-03-14' slug: practicing lerna tags: -- javascript +- web title: Detecting lerna's actions in a repo. author: Oliver Liu location: Beijing; diff --git a/dev/content/_posts/javascript/the-closure-in-javascript.md b/dev/content/_posts/javascript/the-closure-in-javascript.md index 4d85ffa..20dcd62 100644 --- a/dev/content/_posts/javascript/the-closure-in-javascript.md +++ b/dev/content/_posts/javascript/the-closure-in-javascript.md @@ -2,7 +2,7 @@ date: '2017-11-28' slug: the-closure-in-javascript tags: -- javascript +- web title: 深入贯彻闭包思想,全面理解JS闭包形成过程 author: Oliver location: Beijing; diff --git "a/dev/content/_posts/javascript/\344\270\215\344\270\272\344\272\272\347\237\245\347\232\204javascript\347\232\204\345\206\205\351\203\250\345\261\236\346\200\247.md" "b/dev/content/_posts/javascript/\344\270\215\344\270\272\344\272\272\347\237\245\347\232\204javascript\347\232\204\345\206\205\351\203\250\345\261\236\346\200\247.md" index 8a951d1..ab75ed6 100644 --- "a/dev/content/_posts/javascript/\344\270\215\344\270\272\344\272\272\347\237\245\347\232\204javascript\347\232\204\345\206\205\351\203\250\345\261\236\346\200\247.md" +++ "b/dev/content/_posts/javascript/\344\270\215\344\270\272\344\272\272\347\237\245\347\232\204javascript\347\232\204\345\206\205\351\203\250\345\261\236\346\200\247.md" @@ -2,7 +2,7 @@ date: '2018-03-29' slug: 不为人知的javascript的内部属性 tags: -- javascript +- web title: 不为人知的javascript的内部属性 author: Oliver location: Beijing; diff --git "a/dev/content/_posts/javascript/\344\274\230\350\264\250\344\273\243\347\240\201\344\273\216\346\240\274\345\274\217\345\222\214\350\247\204\345\210\231\345\274\200\345\247\213.md" "b/dev/content/_posts/javascript/\344\274\230\350\264\250\344\273\243\347\240\201\344\273\216\346\240\274\345\274\217\345\222\214\350\247\204\345\210\231\345\274\200\345\247\213.md" index 1f93dcc..cc27954 100644 --- "a/dev/content/_posts/javascript/\344\274\230\350\264\250\344\273\243\347\240\201\344\273\216\346\240\274\345\274\217\345\222\214\350\247\204\345\210\231\345\274\200\345\247\213.md" +++ "b/dev/content/_posts/javascript/\344\274\230\350\264\250\344\273\243\347\240\201\344\273\216\346\240\274\345\274\217\345\222\214\350\247\204\345\210\231\345\274\200\345\247\213.md" @@ -2,7 +2,7 @@ date: '2020-04-23' slug: 优质代码从格式和规则开始 tags: -- javascript +- web title: 从格式和规则上统一编码风格 author: Oliver location: Beijing; diff --git "a/dev/content/_posts/javascript/\345\205\263\344\272\216javascript\344\270\255\347\232\204this\346\214\207\345\220\221.md" "b/dev/content/_posts/javascript/\345\205\263\344\272\216javascript\344\270\255\347\232\204this\346\214\207\345\220\221.md" index 6f1f9bc..3c37443 100644 --- "a/dev/content/_posts/javascript/\345\205\263\344\272\216javascript\344\270\255\347\232\204this\346\214\207\345\220\221.md" +++ "b/dev/content/_posts/javascript/\345\205\263\344\272\216javascript\344\270\255\347\232\204this\346\214\207\345\220\221.md" @@ -2,7 +2,7 @@ date: '2017-10-21' slug: 关于javascript中的this指向 tags: -- javascript +- web title: 关于javascript中的this指向 author: Oliver location: Beijing; diff --git "a/dev/content/_posts/javascript/\346\215\242\344\270\252\347\234\274\347\225\214\347\234\213IE\357\274\214\345\256\203\347\234\237\347\232\204\346\234\211\351\202\243\344\271\210\345\217\257\346\201\266\345\220\227\357\274\237.md" "b/dev/content/_posts/javascript/\346\215\242\344\270\252\347\234\274\347\225\214\347\234\213IE\357\274\214\345\256\203\347\234\237\347\232\204\346\234\211\351\202\243\344\271\210\345\217\257\346\201\266\345\220\227\357\274\237.md" index aa76d9e..7edd7ea 100644 --- "a/dev/content/_posts/javascript/\346\215\242\344\270\252\347\234\274\347\225\214\347\234\213IE\357\274\214\345\256\203\347\234\237\347\232\204\346\234\211\351\202\243\344\271\210\345\217\257\346\201\266\345\220\227\357\274\237.md" +++ "b/dev/content/_posts/javascript/\346\215\242\344\270\252\347\234\274\347\225\214\347\234\213IE\357\274\214\345\256\203\347\234\237\347\232\204\346\234\211\351\202\243\344\271\210\345\217\257\346\201\266\345\220\227\357\274\237.md" @@ -2,7 +2,7 @@ date: '2018-03-29' slug: 换个眼界看IE,它真的有那么可恶吗? tags: -- javascript +- web title: 换个眼界看IE,它真的有那么可恶吗? author: Oliver location: Beijing; diff --git a/dev/content/_posts/python/charcode-in-different-platform.md b/dev/content/_posts/python/charcode-in-different-platform.md index 77c8a13..8b46123 100644 --- a/dev/content/_posts/python/charcode-in-different-platform.md +++ b/dev/content/_posts/python/charcode-in-different-platform.md @@ -3,7 +3,6 @@ date: '2019-10-14' slug: Python *** tags: - python -- unicode title: The perform of python's unicode problem on different computer description: The perform of python's unicode problem on different computer author: Oliver diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..48e341a --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3 @@ +{ + "lockfileVersion": 1 +} diff --git a/dev/content/_posts/webrtc/Basic_web_rtc_knowledge.md b/webrtc/Basic_web_rtc_knowledge.md similarity index 100% rename from dev/content/_posts/webrtc/Basic_web_rtc_knowledge.md rename to webrtc/Basic_web_rtc_knowledge.md