china_jeffery
码龄9年
  • 11,738,892
    被访问
  • 226
    原创
  • 1,271,305
    排名
  • 1,745
    粉丝
关注
提问 私信

个人简介:持续学习者; 擅长开发开源组件及相关工具; 长期致力于应用各种IT新技术提升生产效率和解决实际问题; china_jeffery@163#com

  • 加入CSDN时间: 2012-12-07
博客简介:

while(1) { smile(); }

博客描述:
致力于构建完善的Windows应用开发生态体系
查看详细资料
个人成就
  • 博客专家认证
  • 获得752次点赞
  • 内容获得345次评论
  • 获得2,117次收藏
  • GitHub 获得430Stars
创作历程
  • 1篇
    2021年
  • 12篇
    2020年
  • 28篇
    2019年
  • 115篇
    2018年
  • 85篇
    2017年
成就勋章
TA的专栏
  • WebRTC从入门到精通
    付费
    25篇
  • 网络协议
    付费
    24篇
  • 打包狂魔之NSIS教程
    付费
    10篇
  • 人脸识别系统开发
    付费
    9篇
  • 15天掌握前后端开发
    5篇
  • CEF的那些事
    2篇
  • 拨开字符编码的迷雾
    5篇
  • Windows内存体系
    10篇
  • Windows网络模型
    7篇
  • C/C++
    33篇
  • C/C++基础
    22篇
  • Windows核心编程
    38篇
  • Qt
    20篇
  • 软件调试技巧
    16篇
  • MySQL数据库
    8篇
  • 菜鸟学习Unix
    15篇
  • Python
    4篇
  • Windows驱动
    3篇
  • 笑谈人生
    18篇
  • 不晓得怎么分类
    7篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    架构
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

图形编程接口扫盲

一、常见图形编程接口我们常见的图形编程接口主要分为如下派系:OpenGLDirectXVulkanMetal下图展示了各个派系的分支及特点:二、ANGLEANGLE (全称 Almost Native Graphics Layer Engine)是Google的开源项目,Google创建这个项目为了使WebGL能够在Windows平台上使用DirectX图形接口。从上图可以看到,WebGL基于OpenGL ES开发,而在Windows系统上默认只安装了OpenGL 1.1驱动程序,如
原创
发布博客 2021.01.27 ·
274 阅读 ·
1 点赞 ·
2 评论

基于Joplin和WebDAV搭建私有云笔记

一、私有Docker搭建WebDAV服务docker-compose.yml文件内容下:version: '3'services: webdav: image: bytemark/webdav restart: always ports: - "9000:80" environment: SERVER_NAME: www.xxxx.com:9000,xxx.com:9000 AUTH_TYPE: Basic volumes
原创
发布博客 2020.09.21 ·
3447 阅读 ·
3 点赞 ·
1 评论

TypeScript接受度如何?

发布动态 2020.09.20

搭建JavaScript和TypeScript开发调试环境

一、安装Visual Studio Code打开Visual Studio Code官网https://code.visualstudio.com/,根据系统选择对应的版本进行安装:根据个人喜欢进行安装,对安装选项没有强制的要求。二、配置Visual Studio CodeVisual Studio Code的优势就是有丰富的扩展包,大多数功能都可以通过安装扩展包来实现。2.1 将默认语言设置为中文安装完Visual Studio Code之后,其界面的默认语言是英文,我们只需要安装“简体中文
原创
发布博客 2020.08.27 ·
336 阅读 ·
1 点赞 ·
0 评论

TypeScript语法快速入门

如果你还不了解TypeScript是什么,或者其与JavaScript之前的关系,可以参考:《前后端常用概念》TypeScript是JavaScript的一个超集,支持ES6的语法规范,并在此基础上进行了增强,二者最大的不同在于:TypeScript是强类型语言,而JavaScript是弱类型的语言。下面着重介绍二者的不同之处。一、变量声明TypeScript支持使用var、let、const进行变量声明,但建议不要使用var。TypeScript声明变量时,可以强制指定变量类型或者由编译器自.
原创
发布博客 2020.08.26 ·
26564 阅读 ·
1 点赞 ·
0 评论

ECMAScript6语法快速入门(二)

一、数据结构1.1 数组JavaScript中使用Array类创建数组对象:// 使用Array类创建数组let cars1 = new Array("Saab", "Volvo", "BMW");// 使用Array类创建数组let cars2 = new Array();cars2[0] = "Saab"; // 支持[]方式访问和赋值,下标从0开始cars2[1] = "Volvo";cars2[2] = "BMW";// 简写方式let cars3 = ["Saab",
原创
发布博客 2020.08.25 ·
146 阅读 ·
0 点赞 ·
0 评论

ECMAScript6语法快速入门(一)

【写在前面】ECMAScript标准的发展经历了一个漫长的过程,从1997年发布的ECMAScript 1.0,到2011年的ECMAScript 5.1,再到2015年的ECMAScript 2015,以及后面每年都会发布的一个新的ECMAScript版本,版本众多,而且每个版本都有新特性的加入。我们通常用ECMAScript 6来统称ECMAScript 2015及其之后的的版本。但ECMAScript 2015可谓是ECMAScript标准的分水岭,其从制定到发布前后经历了15年,目前绝大多
原创
发布博客 2020.08.25 ·
140 阅读 ·
0 点赞 ·
0 评论

前后端常用概念

1. 浏览器内核在Web大行其道的时代,网民需要上网浏览网页就需要依赖浏览器这个软件,掌握了浏览器就掌握了流量的入口,于是各大软件公司开始研发自己品牌的浏览器,不同品牌的浏览器其实现原理当然是有区别的,这个实现原理就是浏览器的核心,我们称其浏览器内核。现在市面上有这么多的浏览器,如Chrome,QQ浏览器,搜狗浏览器,这些浏览器厂商是不是都是自己研发浏览器内核了?不是的!因为有些公司或者团体将浏览器内核进行了开源,方便其他人基于该内核进行二次开发,常见的开源浏览器内核有Chromium、WebKit、
原创
发布博客 2020.08.24 ·
387 阅读 ·
3 点赞 ·
0 评论

CEF的那点事 -- CEF介绍

CEF是Chromium Embedded Framework的简称,是Google公司开发的一个浏览器内核框架,以开源库的方式提供,可以内嵌到第三方程序中。CEF老版本使用的WebKit内核,从2013年开始,CEF已经使用Google自主研发的Blink内核(网上也有人说,Blink是基于Webkit修改而来,这个无从考证)。官网CEF的官网是:https://bitbucket.org/chromiumembedded/cef/wiki/Home,国内用户访问可能不会太顺利。版本CEF经历了
原创
发布博客 2020.08.05 ·
1013 阅读 ·
1 点赞 ·
1 评论

如何实现一个高速文件下载器

我们从网络上下载文件时通常会使用浏览器或者迅雷这样的下载软件,他们的大多具有高速下载(下载速度快),断点续传(可以暂停之后继续下载)等特性。假如我们自己开发的应用软件中也需要支持这些下载功能,我们该如何设计和实现了?本文主要围绕这一问题进行论述。首先,我们将一个完善的文件下载库需要具有的特性列举出来:多线程分片下载断点续传磁盘缓存最高下载速率限制及实时下载速率反馈(可选)多协议支持,跨平台(可选)1. 多线程分片下载Chrome浏览器和迅雷能实现高速下载的核心就是多线程分片下载(这里忽略
原创
发布博客 2020.07.09 ·
659 阅读 ·
2 点赞 ·
0 评论

Qt QSS的几种图片显示方式

大家在使用QSS进行图片设置时,一定被image, border-image, background-image这几个属性困扰过。比如他们之间有什么区别,什么时候该用哪个属性来设置等等。本文就来讲解一下这个几个属性的异同点。在讲解之前需要大家对Qt的盒子模型有所了解,建议大家先阅读一下《Qt QSS使用》文章中关于盒子模型的部分。一、background-imagebackground-image按图片实际尺寸显示,超过控件部分会被裁剪,虽能显示SVG,但无法对SVG进行无损缩放;关于backgr
原创
发布博客 2020.06.10 ·
2966 阅读 ·
3 点赞 ·
0 评论

Qt无边框窗体实现方案

Qt虽然提供了诸如Qt::FramelessWindowHint之类的属性可以移除窗体的边框,但是移除边框之后,窗体的一些默认行为也被移除了,如鼠标拖动改变大小、双击标题栏最大化等,这些行为需要开发者自己来实现。本文主要介绍实现无边框窗体的几种方案。笔者认为,一个完美的无边框窗体解决方案需要支持如下功能:支持通过使用鼠标拖拽来改变窗体位置和大小;支持双击标题栏最大化窗体和还原窗体;支持Windows Areo Snap特性;支持系统阴影;支持跨不同DPI的屏幕拖拽;适应分辨率和DPI改变;
原创
发布博客 2020.05.30 ·
851 阅读 ·
1 点赞 ·
3 评论

Qt 5.13.2版本静态库编译

本文介绍如何使用MSVC编译Qt 5.13.2版本的静态库.1. 下载qt-everywhere-src-5.13.2Qt离线下载地址:http://download.qt.io/archive/qt/下载完成之后,解压到D:\Qt-5.13.2\qt-everywhere-src-5.13.2目录。2. 配置环境变量将如下内容保存到qtvars.cmd文件:REM Set up ...
原创
发布博客 2020.04.14 ·
687 阅读 ·
0 点赞 ·
0 评论

WebRTC -- 自定义AudioDeviceModule时线程检查失败

《WebRTC – 添加选择音频输入输出设备功能》一文介绍了Webrtc默认使用计算机上的默认的音频输入输出设备,并且介绍了如何为webrtc指定音频的输入输出设备。读者根据上文介绍的方法实践的时候,Debug版运行时很可能会遇到thread check failed的提示。WebRTC内部有三个主要线程(network_thread,worker_thread,signaling_thread...
原创
发布博客 2020.01.15 ·
1088 阅读 ·
1 点赞 ·
1 评论

Qt QSS使用

一、选择器类型Qt QSS选择器和CSS2、CSS3的选择器类似,建议先学习或者复习一下CSS选择器的语法。QSS虽然和CSS类型,但有也稍许不同,而且支持的语法也没那么多,具体讲解如下。1.1 类选择器/*匹配QPushButton的实例及其子类*/QPushButton { color: blue;}/*匹配QPushButton的实例,但不包含子类*/.QPu...
原创
发布博客 2019.12.11 ·
771 阅读 ·
1 点赞 ·
0 评论

WebRTC -- Janus编译部署及配置

Janus是一个开源的WebRTC SFU服务器,可以作为WebRTC的一个端将其收到的数据进行转发,同时提供一些的控制能力,Janus是基于插件架构的,其功能都是通过一个个插件来提供。一、编译部署Janus可以方便的在Linux和MacOS上面编译部署,暂时不支持Windows系统,但可以在Win10的Windows Subsystem for Linux上编译部署。1.1 安装依赖项在...
原创
发布博客 2019.11.12 ·
1221 阅读 ·
0 点赞 ·
0 评论

WebRTC -- 音视频流传输带宽控制

WebRTC没有提供这方面的接口,我们可以通过修改sdp信息来实现音视频流的传输带宽控制,sdp格式参考之前的文章:《WebRTC – SDP格式解析》实现原理比较简单,就是分别在sdp的audio和video媒体部分加入b=AS:信息,可以参考下面的代码实现:void updateSdpAudioVideoMaxKbps(QString &sdp, int audioMaxKbps,...
原创
发布博客 2019.11.12 ·
613 阅读 ·
0 点赞 ·
0 评论

WebRTC -- 添加选择视频输入设备功能

《WebRTC – 添加选择音频输入输出设备功能》介绍了如何添加音频输入输出设备选择功能,本文介绍如何添加选择视频输入设备的功能。添加视频输入设备的选择功能不需要像音频设备那样修改webrtc源码,只需要创建自定义webrtc::VideoCaptureModule即可。int videoDeviceIndex = 0; // 视频输入设备idstd::unique_ptr<webr...
原创
发布博客 2019.11.12 ·
616 阅读 ·
1 点赞 ·
0 评论

WebRTC -- 添加选择音频输入输出设备功能

我们先来看看WebRTC中提供音频设备输入输出功能的类结构:从上图中我们看到:AudioDeviceModule接口类是音频设备模型的基类,该接口类及其子类并不提供任何针对音频的实际操作,实际操作都是由AudioDeviceGeneric接口类的子类来提供。AudioDeviceGeneric接口类是音频设备实际操作(如录音、播放、声音控制等)的基类,然后根据平台不同由不同的类来实...
原创
发布博客 2019.11.12 ·
1897 阅读 ·
1 点赞 ·
6 评论

WebRTC -- 在直播领域应用的可行性分析

一、目前流行的直播技术架构目前主流的直播方案一般采用RTMP架构,首先客户端采集音视频流(如obs studio客户端),然后通过RTMP协议将流推到流媒体服务器,最后流媒体服务器将流处理后分发给各个直播客户端。优点:良好的CDN支持,目前主流的CDN 厂商都有比较成熟的解决方案,另外也有可用的商用SDK方便集成,例如声网等,只要集成对应平台的SDK即可。由于有CDN的支持,相较于端对...
原创
发布博客 2019.11.05 ·
721 阅读 ·
1 点赞 ·
0 评论
加载更多