自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AndyQsmart的专栏

AndyQsmart个人博客

  • 博客(38)
  • 收藏
  • 关注

原创 Qt开发之MaterialUI-QML库

PC端使用Qt QML开发,写法相差很大,思路也有所区别,写法也比较受限,不过现在一些基础组件基本上已经实现,提交到了Github,项目直接运行就是一个文档程序,介绍了组件的Demo和API,还在完善中。使用的话,就是直接使用common_component下的MaterialUI文件夹即可,里面的组件基本上已经涵盖了一下基础组件。之前一直都是使用MaterialUI开发Web的页面,是一套基于React开发的组件库,使用起来挺方便的。Qt版本是Qt5的。,因为开发的比较早,所以使用的是V4版本的。

2023-06-16 17:36:33 1630 1

原创 Ajax跨域请求的两种实现方式

最近网站新增了一个域名B用于分离不同的功能。但是需要复用服务器的高防等服务,但是服务和原有域名A绑定,所以新域名B需要直接去调用域名A。一开始想使用CNAME的方式,让B直接指向A。但是Https支持性有点问题,需要多域名证书。也考虑过反向代理,但是代理服务器的性能和高防等又是一个问题。最终决定在域名B的网页中,所有请求都直接去调用域名A的接口。于是就遇到了跨域请求的问题。网上找了许多资料来实现跨域请求。最终预估下来,有两种方案比较靠谱:通过iframe实现和CORS方案初步设想是加载一个域名A的ifram

2022-06-24 12:00:38 710 1

原创 真实故事 - 10年前的誓言还有效吗

这是一个发生在10年前的故事,很想知道当时的这位大哥是否还在坚守自己的诺言。更多文章请关注公众号:打工人看世界。公众号原文链接:真实故事 - 10年前的誓言还有效吗故事的原委事情是这样的,大概在10年前,我还只是个高中生的时候。当时的搜搜还不叫搜狗,搜搜还是腾讯的。搜搜里面有一个问答模块,也就是现在的搜狗问问。当时闲着无聊的我,就喜欢在问问里面回答问题,什么情感问题、学习问题、找歌问题等等。但是高中结束后,就再也没有打开过问问。直到最近,我偶然发现,搜狗问问下面,还能..

2022-03-09 10:35:17 178

原创 小故事-太阳和月亮

更多文章请关注公众号:程序员中的故事大王。公众号原文链接:小故事-太阳和月亮小故事:月亮知道自己不会发光,它的光芒都来自于太阳。每次清晨和黄昏,月亮都会和太阳进行交接。终于有一天交接的时候,月亮沮丧地问太阳:“是不是只要有你就够了,我只是一个可有可无的存在。”太阳意味深长地说道:“我只是在光明中,比较亮的那一个罢了。而你是黑暗中唯一的那一个光明。”解答:这个故事比较好理解,太阳的话基本上已经表达了大部分的意义。从表面上看来,月亮是依赖太阳才能发光发亮,属于活在了太阳的光芒下。但是更深层次

2022-03-04 17:13:38 201

原创 小故事-小海龟

详细文章请关注公众号:程序员中的故事大王。公众号原文链接:小故事-小海龟小故事:小海龟自由自在,它每天都会游到各种各样的地方去探索。有一天,它在海滩上遇到了一个老渔夫。从此以后,他们每天都一起出海,一起在沙滩晒太阳。漫长的日子过得很短暂,突然有一天,小海龟在海滩上没有等到渔夫的到来。它等了好几个白天、好几个夜晚,渔夫始终没有现身。之后的无数个白天和夜晚,海龟都静静地在海滩上,似乎是在等待着什么,又似乎是在思考着什么。解答:小海龟好比人,一开始可能都是习惯独自一人,而且能在孤独中寻找.

2022-03-02 11:11:15 161

原创 小故事-小画家

详细文章请关注公众号:程序员中的故事大王。公众号原文链接:小故事解答-小画家小故事:这是一个小画家,在他的时代,富豪们告诉画家们需要画什么,画家们都画着一样的画,每天如此。但是小画家感觉不应该这样,他开始画自己想画的事物。画家们都嘲笑他,果然,他的画都卖不出去了。终于,这一天,小画家也怀疑自己是错的了,他准备放弃自己愚蠢的想法。就在这时,一个富豪买走了他所有的画。从此以后画家们开始学习画小画家的画。解答:初始想法是画家=打工人,富豪=资本家。但是后面发现可以扩展为富豪其实是规则制定者

2022-03-02 11:09:46 169

原创 小故事-小男孩和瓶子

详细文章请关注公众号:程序员中的故事大王。公众号原文链接:小故事-小海龟小故事:有一天,小男孩终于下定决心,用珍藏好久的瓶子去打水。他满怀着紧张和期待,小心翼翼地打了满满一瓶的水。悲剧发生了,瓶子连同水一起摔在了地上,碎得一片一片。小男孩很伤心,哭了很久。大人给了小男孩一个一模一样的瓶子,一切似乎回到了平静。小男孩很快速地打了大半瓶水,他学会了用瓶子打水。解答:瓶子=真心,水=爱情。需要注意的是虽然强调了一模一样的瓶子,但是其实可能不再是第一次的瓶子了。而且第一次是小心翼翼打了满满一瓶的

2022-03-02 11:06:49 196

原创 JS在浏览器中base64、url、blob互相转换

公众号:程序员波波在平时开发的时候,我们在处理文件,尤其是图片的时候,经常会跟base64、url、blob(file)这三种形式的内容打交道。base64格式一般都是以data:image/jpeg;base64,这种类似形式打头的一串很长的字符串。url一般以服务器地址或者路径(形如http://xxx.jpg或者/static/xxx.jpg)为主,也会有浏览器本地地址(形如...

2019-11-15 10:40:43 13748 1

原创 [波波带你手动提取网页视频]07讲 实战Network巧妙提取m3u8链接

公众号:程序员波波小时候很喜欢看《龙珠》这部动漫,今天我们来重温一下吧。百度搜索“龙珠”点开这个雅图在线的可以看到这个网站做的很乱,我随便点开了一集播放。打开控制台,可以看到这个网站做了特殊处理,我只要打开控制台,视频就会停止播放。Network中勉强能看到一些ts结尾的,无法看到更多信息。我使用左上角的定位功能,定位了视频的元素。看到了video标签,但...

2019-11-15 10:34:19 5353

原创 [波波带你手动提取网页视频]06讲 实战Network提取m3u8文件

公众号:程序员波波这一次我们来致敬星爷的《大话西游》,今天遇到一个比较棘手的。百度搜索“大话西游”:我打开这个1905VIP影院如下图,和往期一样,打开控制台,并让视频播放。可以看到Network中有许多和ts相关的信息,本次的视频链接为m3u8格式的。如下图,这次发现Elements里面完全没有和m3u8相关的节点,param中也只有一些杂乱的信息。如...

2019-11-15 10:30:27 3706

原创 [波波带你手动提取网页视频]05讲 实战Network提取m3u8链接

公众号:程序员波波前一篇文章我们已经接触到了m3u8视频的链接,这个一般就是需要自己去想办法找到这个链接,这个链接一般隐藏比较深,当然也有比较明显了,比如这一次的实践。最近我看了一部比较老的电视剧《相爱十年》,我就以他为例。百度搜索“相爱十年”:我打开了这个西瓜视频的链接,并播放了其中的一集:和往期文章相同的处理方式,打开控制台的Network,让视频开始播放,不...

2019-11-13 10:34:00 3267

原创 JS扩展运算符巧用

公众号:程序员波波JavaScript中es6里面有一个扩展运算符...感觉十分方便。和Python中的*、**有点类型。...的作用是展开一个对象或者数组中的数据,比如:let a = [1, 2, 3]let b = [2, ...a, 4] // b = [2, 1, 2, 3, 4]sum(...a) <=> sum(1, 2, 3)let x = ...

2019-11-12 10:01:59 223

原创 [React组件封装][优化]文件选择按钮(解决安卓下type为file的input标签不触发onChange的问题)

公众号:程序员波波之前已经写过“[React组件封装][实例]文件选择按钮组件封装”这篇文章。目的是封装一个文件选择按钮。但是在真正运用的时候发现,还是存在问题的。主要是安卓端的微信浏览器input标签不触发onChange函数。在经过一些查阅后,发现可能原因是安卓端的WebView不支持input标签为file,不会触发onChange,而微信安卓端使用了WebView,所以会有...

2019-11-12 09:56:05 945 1

原创 [波波带你手动提取网页视频]04讲 实战Network配合Elements提取m3u8链接

公众号:程序员波波前两篇文章我们已经初步熟悉了Elements和Network这两个控制台中的工具。接下来我们就会遇到需要这两者配合的情况。我依然搜索“鬼灭之刃”我打开了这个看撒动漫,并打开了其中的一集。如下图,我打开控制台的Network,如果列表中没有数据,请在打开Network的前提下刷新网页。然后让左侧视频播放,如果不能够点击,请暂时关闭控制台,让视频播放,然后打...

2019-11-12 09:36:06 1601

原创 [波波带你手动提取网页视频]03讲 实战Network中mp4 提取

公众号:程序员波波上一篇文章中已经讲了video标签去提取mp4链接。但是经常我们可能一时间无法定位到这个video标签,或者video标签隐藏比较深,需要经过特殊处理才能定位到。(特殊处理包括,隐藏一些无用元素,或者Elements下面直接手动去查找video标签)这个时候另一个工具Network就登场了。首先我还是百度“鬼灭之刃”:然后我点击这个动画岛的,并打开第1...

2019-11-11 09:31:28 1410

原创 [波波带你手动提取网页视频]02讲 实战video标签mp4 提取

公众号:程序员波波最近《鬼灭之刃》这部动漫比较火,我们就以他为例吧。首先搜索“鬼灭之刃”。我随便点击了这个鬼灭之刃中文网的,如下图:如下图,网站有许多集。然后,我打开了第06集,并打开控制台,如下图。点击控制台左上角的箭头标志,然后去选中左侧视频这个时候,控制台会跳转到Elements标签下面,并定位到video这个标签处。这个时候其实有些人已...

2019-11-08 17:29:00 1814

原创 [波波带你手动提取网页视频]01讲 基础

公众号:程序员波波在生活中,我们经常看一些网页视频,有些视频感觉非常不错,都会希望能够下载下来自己珍藏,但是往往就试而不得。这次波波带你一步一步手动提取网页视频。首先,需要有一些准备知识。一、网页视频网页中的视频一般是通过一个video标签来播放的,会有一些其他技术手段来避开video或者隐藏video。避开video可能会使用一些其他播放器来播放视频,隐藏video一般会...

2019-11-08 17:21:34 2114

原创 React中同步引入script标签

公众号:程序员波波之前写了一篇异步引入的博客,但是在开发中遇到,可能某些js之间有调用关系,那么引入的时候就需要按照一定的顺序进行同步引入。这里采用了递归的方式:class Tools{ static loadScript(url, callback) { let old_script = document.getElementById(url)...

2019-09-16 14:20:55 6784

原创 React中异步引入script标签

公众号:程序员波波React中支持异步加载script,通过react-loadable可以在React中异步import。但是目前遇到一个问题,引入全局的script标签。但是如果把所有标签全部写在index.html中的话,那么第一页加载的速度会变慢,所以希望实现异步引入script标签的方法。目前通过document.createElement的方法来动态创建脚本标签,然后通...

2019-09-16 14:20:42 6189

原创 [React组件封装][实例]不受控组件变成受控组件

公众号:程序员波波开发中可能会用到一些第三方的组件或者是早期开发的组件,而这些组件并不受控。就是说组件内部维护了state或者内部修改了一下数据,导致组件的状态并不是由props来定义的。所以我们希望通过封装一层,来使得组件变得受控。步骤:1、首先我们需要知道组件的状态是由哪些变量定义的。(比如富文本的状态是由富文本的内容定义的)2、然后封装一层受控组件,受控组件通过pro...

2019-09-16 14:20:03 578

原创 [React组件封装][实例]懒加载切换视图组件

公众号:程序员波波在开发过程中会遇到一种需求,就是在一块视图区域,可能需要根据不同的状态展示不同的组件。但是如果单纯的只根据状态显示相应的组件,那么其他未显示组件的内部状态可能就无法保存了。当然如果外部组件保存了它们所有组件的所需要的所有状态变量,那么就另当别论了。(scrollTop这类的状态可能保存起来比较麻烦)所以想要封装一个组件。可以根据需求显示不同的组件,但是能维持组...

2019-09-16 14:19:47 338

原创 [React组件封装][实例]文件选择按钮组件封装

公众号:程序员波波文件选择器是我们经常会使用到的,一般都是通过点击某个按钮然后选取文件。所以封装一个文件选择按钮还是有必要的。首先,这个按钮使用起来必须和普通按钮一模一样,否则就失去了封装的意义。其次也要基本符合我[基础]中讲到的几点。于是(注意在chrome中使用image/*会很慢):(基础版本)import React, { PureComponent } fr...

2019-09-16 14:19:28 1820

原创 [React组件封装][实例]FontAwesome图标组件封装

公众号:程序员波波FontAwesome是前端开发常用了一种图标字体。在React中使用可以使用对应的库,但是感觉不怎么好用。另一种方式就是通过import 'font-awesome.min.css',然后<i class="fa fa-times" ></i>这种使用方式缺点是每次需要引入font-awesome.min.css,但是如果忘记...

2019-09-16 14:19:09 551

原创 [React组件封装][基础]对于React组件封装的注意点

接触React也有一段时间了,从刚开始jquery式地去使用React,到慢慢走上正轨,还是经过了不少学习的。从开发过程中,遇到的组件大概有两类:UI类、工具类。UI类顾名思义就是能看得到的UI,这些组件一般就是按照需要渲染成相应的样子。工具类是一类虽然看上去好像什么东西都不渲染,但是却需要写在render中作为组件加载才能使用。(无法通过传统对象或者类方法之类实现)作为一个组件,...

2019-09-16 14:17:32 1632

原创 JS深拷贝和深比较

公众号:程序员波波JS中对于对象类型(包括数组和字典),赋值效果和C++中指针一样,都是指向了同一块内存的对象,所以修改操作相当于是连带的,如果b={x1, x2, x3};a = b那么修改a.x1,最终打印出来的b.x1也会变化,因为没有新的对象生成,它们指向的都是同一个对象。但是对于基本类型number,string,它们的赋值就是相当于拷贝,两个变量是独立的。说白了...

2019-03-22 10:18:34 524

原创 JS优先队列

公众号:程序员波波基于数据结构中堆可实现优先队列。此处仅贴代码记录一下:// 优先级大的排在前面class PriorityQueue { // 构造函数,传入优先级比较函数 constructor(cmp_func) { if (cmp_func) { this._cmp_func = cmp_func ...

2019-01-14 18:08:05 515

原创 JS浏览器数据库

公众号:程序员波波最近做功能需要浏览器自己备份一份数据,但是本地数据还需要支持条件查询。于是,查找了一下是否有浏览器数据库这种东西。发现了Web SQL和IndexedDB这两个东西,前者是关系型数据库,后者是NoSQL类型的。因为功能需要关系型查询,所以准备选用前者,但是前者兼容性有问题,而且不是标准的规范,而且停止了更新。实践了一下发现Web SQL在火狐等浏览器上确实是不支持...

2018-09-07 15:10:51 1408

原创 JS中实现函数在指定时间内单次执行

公众号:程序员波波在项目开发过程中遇到过这样一个情景需求:某一个函数延迟t时间执行,但是在短时间内多次触发延时执行的时候,只会执行最后一次的延时执行。比如:我在某个k时刻,希望函数A在t时刻后执行。然后在k+t1(t1<t)时刻又希望函数A在t时刻后执行。那么函数A最终仅会在k+t1+t时刻的时候执行一次。类似于函数A的延时操作可以被重置的效果。实现方法有很多...

2018-08-27 14:45:36 3083

原创 邀请码生成

公众号:程序员波波最近做一个邀请码功能,一直没找到感觉很完美的方法,然后自己造了一个轮子,当然效果还不是很完善。首先我认为邀请码需要有以下特性:1、唯一性,不能出现两个场景下生成一样的邀请码。2、不规律性,至少在字面上不能猜出规律来。3、高效性,生成邀请码的算法不能太过复杂,或者太消耗性能。思路:理论上用时间戳生成的数字串基本上是唯一的,如果经过一定规则的打乱顺序,...

2018-06-20 13:05:24 8457

原创 React通过反射动态加载自定义组件

公众号:程序员波波最近在写一个类似于页面编辑器的工具。一般来说,可视化的编辑器,是通过拖拽已有组件,然后设置组件的属性,来完成一个编辑的过程。然后在开发过程中遇到了一些问题,在此记录一下。首先编辑器的开发在这就不多提了。说重点,在开发中遇到了对于生成的自定义数据,然后需要通过数据来动态加载组件(因为某个编辑生成的页面,不一定包含所有自定义组件,在预览页面只需要加载用到的组件...

2018-06-14 19:06:32 8102 2

原创 git实用笔记

公众号:程序员波波笔记包含两部分:1、常用命令2、常见情况和解决方法git clone url从远端拉取仓库git add file添加某个文件git commit -m 'name'进行一次提交git push将本地的提交上传到远端git pull拉取远端的提交到本地,本地当前的分支会更新git fetch将所有远端分支的提交...

2018-05-18 11:27:40 238

原创 在React中使用FontAwesome字体

FontAwesome是一种图标字体。安装依赖1. 安装基础依赖npm i --save @fortawesome/fontawesomenpm i --save @fortawesome/react-fontawesome2. 安装样式依赖npm i --save @fortawesome/fontawesome-free-solidnpm i --save @fortawesome/fon...

2018-03-31 14:07:36 3086 1

原创 Animation动画使用注意点

Animation动画使用注意点一、  动画时长        在Unity中使用Animation制作动画时,当动画的时长低于0.2秒时,会出现播放不出来的情况。        当制作低于0.2秒的动画时,可以采用补帧补到0.2来解决这个问题。具体做法是在动画结束时间到0.2秒的时间内让物体停留在原地。(或者隐藏起来如果需要)如图:二、  多个动画

2017-07-22 19:38:18 850

转载 Linux下GLIBCXX和GLIBC版本低造成的编译错误的解决方案

最近在给编译环境CentOS 6.5安装新版clang (clang 3.4/3.5)的时候,虽然已经装了gcc 4.9.1, 但编译的时候(参考clang官方主页http://clang.llvm.org/get_started.html的步骤,在独立build目录下运行clang自带的configure脚本),仍然出了“c compiler cannot create executables”

2016-12-29 14:16:46 1369 1

原创 关于实现ID池的小讨论

只是个人在开发中遇到一些小问题,可能没有解决得足够好,但是也是一次思考的过程。场景在开发的时候遇到一种情况,就是对于一系列的请求,我需要全部加入一个请求队列,然后通过统一的处理程序处理完毕后,放入结果队列。但是发出请求的程序,如果想从结果队列中取出自己请求的结果,需要一个全局唯一的ID,用以区分不同请求的结果。一些尝试对于这个问题,会有一些很直接的想法,比如:(1)用个coun

2016-11-04 17:30:42 1271

原创 实现小尝试—C++ STL bitset

关于bitsetbitset是C++ STL中的一种容器,用以标记一种0、1的位状态,可以声明一定长度的二进制位,然后每一位只能是0或者1。需要包含头文件。如何小实现一下?一、数据部分可以使用一个unsigned long long的数组来保存,每一个数长度为64位,根据声明的长度来确定数组的长度。 于是数据结构的存储如下:class BitState{prote

2016-11-02 14:51:11 843

原创 Qt之无边框窗口创建

为什么要去边框?美观个人感觉系统自带的边框美观上稍微欠缺一点,这也是好多软件去掉边框的原因吧。自定义去掉边框后,就能自由在任何位置添加一个自己的边框、标题栏之类的,甚至可以在上面添加一些工具菜单。如何去掉边框?Qt自带的函数使用下面这个函数就能去掉边框:setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::Wi

2016-03-18 20:16:23 6921 1

转载 关于如何修改本地MTU

MTU:通信术语 最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 修改方式1:依次打开:开始、程序、附件、命令提示符(以管理员身份运行)——打开DOS窗口栏,在光标后输入命令:netsh interfac

2014-08-03 10:13:46 1160

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除