1.从源码构建并安装Qt6
2.推荐多个超实用网站
3.推荐6个鲜为人知的源码免费GIF网站
4.7个源代码/库搜索引擎网站
5.Spring Security 6.x OAuth2登录认证源码分析
从源码构建并安装Qt6
在处理大作业时,我需要使用Qt,资源然而官方下载途径的源码不便和速度让我考虑了其他方式。从Qt 5.开始,资源官方已不再提供离线安装包,源码只能通过在线下载或源码构建。资源透过源码详细讲解对于我这个初次接触项目构建的源码初学者来说,这个过程充满挑战,资源但在大佬的源码帮助下,我成功安装了。资源
如果你对Qt的源码需求并不紧急,可以访问download.qt.io/archive/...,资源下载5.版本及以下的源码离线安装包。
对于想要从源码构建Qt6的资源用户,以下是源码具体步骤。注意,这个过程会安装全套工具,大约GB,但无法定制安装。以Qt6.5.0为例,首先从官方下载页或镜像站如清华大学、中国互联网络信息中心或中国科学技术大学的 mirrors 获取qt-everywhere-src-6.5.0.zip。
确保你的环境中安装了CMake、Ninja(推荐,但可选)和Python3,并将它们的路径添加到系统PATH中。解压下载的代码包后,重命名或直接放在指定目录如D:\Qt\6.5.0,用~代替。转帐生成源码找到VS编译器目录,例如C:\Program Files\Microsoft Visual Studio\\Community\VC\Auxiliary\Build。
创建一个txt文件,内容如下(请根据实际路径替换):
bash
set PATH=%ProgramFiles%\Microsoft Visual Studio\\Community\VC\Tools\MSVC\..\bin\HostX\x;%PATH%
set PATH=%VSCOMNTOOLS%;%PATH%
将后缀改为.cmd,然后在cmd中运行配置命令,如%SystemRoot%\system\cmd.exe /E:ON /V:ON /k D:\Qt\6.5.0\qt6vars.cmd。接着,cd到源码目录并运行configure -prefix -debug(不写-prefix默认安装路径为C:\Program Files\Qt)。
开始构建过程,使用cmake --build . --parallel 或 ninja,这可能需要到分钟,具体时间取决于配置。最后,通过cmake --install . 完成安装,qmake.exe等可执行文件会出现在bin目录中。
推荐多个超实用网站
查找书籍资料
1. 书栈网
书栈网是一个开源书籍和文档分享站点,使用Go语言开发,包含了各种技术分类的书籍资源。
2. 码农之家
码农之家为程序员和编程爱好者分享计算机编程电子书及学习资源和技术文章,旨在降低学习成本,帮助技术提升。
3. 鸠摩搜书
鸠摩搜书是一个垂直搜索引擎,来源包括淘宝、豆瓣、百度文库等,方便用户综合查找论文、学习资料及古籍。
4. 脚本之家
脚本之家是电车溯源码一个专注于脚本学习资料的网站,适合网站建设、网页设计和网络编程开发人员及爱好者。
学习网站
1. CSDN
CSDN是一个面向IT专业技术人员的专业IT技术社区。
2. 网易公开课
网易公开课汇集了清华、北大等名校课程,覆盖多个领域,为用户提供深度知识学习。
3. 网易云课堂
网易云课堂是一个专注于成人终身学习的在线教育平台,提供全面、有效的学习内容。
4. 谷粉学术
谷粉学术是一个文献检索服务,帮助用户快速查找学术研究资料。
5. 大学资源网
大学资源网提供课程、中学课程、小学课程、管理课程培训等学习资源,面向所有希望提升能力的人。
6. 自学网
自学网提供全方位软件学习资源,包括3D、平面设计、多媒体制作、办公信息化、机械设计、网站制作等。
7. 学堂在线
学堂在线是清华大学研发的中文MOOC平台,提供大规模开放在线课程,面向全球学习者。
8. 爱课程
爱课程是openjdk线程源码一个高等教育课程资源共享平台,展示中国大学的视频公开课和资源共享课。
写代码实用网站
1. GitHub
GitHub是全球最大的代码托管平台,提供强大的社区资源。
2. 源码之家
源码之家免费提供各种网站源码、模板、工具软件、电子书籍下载,满足开发者学习与实践需求。
3. 码云
码云是一个灵活便捷的代码托管和协作开发平台,适用于个人、团队和企业。
4. Json在线解析及格式化验证
提供Json解析、验证、格式化、压缩、编辑器等服务,方便开发者处理Json数据。
5. 在线HTTP接口测试工具
在线HTTP接口测试工具支持API接口请求模拟测试,方便开发者调试和测试接口。
学设计资源网站
1. 码力全开
码力全开是一个独立开发者交流、学习的聚集地,发布相关文章,帮助开发者成长。
2. 新CG儿
新CG儿是一个影视后期设计师交流平台,提供免费AE模板素材下载和CG佳作学习资源。
3. 阿里巴巴矢量图标库
阿里巴巴矢量图标库提供丰富的矢量图标资源,包括下载、在线存储、kdchart源码下载格式转换等功能。
4. 第一字体网
第一字体网提供各种字体转换器、在线生成器和下载服务,满足设计者对字体的需求。
5. 夺目
夺目是一个企业视频在线制作工具,帮助用户高效、低成本地制作各类视频广告。
6. 码卡
码卡提供海量精美平面设计素材,支持在线编辑和下载高清。
7. 爱给网
爱给网是中国最大的免费数字娱乐素材下载网站,提供音效、3D模型、视频等资源。
8. 在线视频剪辑
在线视频剪辑提供视频剪辑工具,方便用户快速处理视频内容。
推荐6个鲜为人知的免费GIF网站
寻找免费且优质GIF制作工具?这里为您精心挑选了六个鲜为人知的网站,满足您的需求。
首先,是Piskel,一个免费在线编辑动画与像素艺术的编辑器,无需下载,直接在浏览器中创作与预览动图,并可导出为GIF、PNG等多种格式。您只需点击“Create Sprite”,绘制动画,实时检查,调整帧延迟即可。同时,源代码开源,您可访问GitHub了解更多。官网地址:[piskelapp.com](]()
Giphy是一个在线GIF搜索引擎,搜索互联网上的GIF资源,被称为GIF界的搜索引擎。在搜索框输入关键词即可快速找到所需GIF,GIF大小不得超过MB且时间不超过分钟。官网:[giphy.com]()
然后是Gifntext,一个在线免费的GIF编辑器,让你能直接在GIF上添加文本和图像,功能全面。您只需上传GIF或URL,即可开始编辑。访问:[gifntext.com]()
GIF无限缩放是一个独特网站,提供创建循环动画图像头像的服务,通过上传多张,生成缩放的动画图像,实现动态效果。最高支持x像素,文件大小小于2 MB。访问:[gif-in-gif.com]()
以上推荐的GIF制作工具,操作简易、功能全面且均为免费,助您轻松创建出满意的GIF动图。记得访问官方网站了解详细使用说明与教程,开始您的创意旅程。
7个源代码/库搜索引擎网站
1. GitHub - 开源代码领域的领航者 GitHub, 作为全球领先的开源代码库和版本控制系统,最近引入了革新性的源代码搜索服务。尽管它在这个领域相对较新,但其庞大的代码库已积累超过亿计,正如一篇博文中所述:“GitHub,无疑是海量宝藏的代名词!” 2. Krugle - 互联网上的搜索巨擘 Krugle凭借超过亿行代码的搜索覆盖,堪称全球最大的源代码搜索引擎之一,甚至声称其搜索结果囊括了全球三分之一开发者的作品。企业级服务更是覆盖了Amazon、IBM等知名企业,如Collab.net和SourceForge,以及Yahoo!等巨头。 3. Koders - Ruby程序员的最爱 Koders的搜索范围超过亿行代码,尤其受到Ruby程序员的热烈追捧。在被Black Duck Software收购后,Ruby搜索量激增倍,超越PHP、Perl和Python,成为该平台的第四大热门语言,仅次于Java、C/C++和C#。 4. Codaes - Linux时代的C/C++聚焦者 Codaes在源代码搜索领域虽然规模较小,拥有约2.5亿代码资源,但主要聚焦Linux C/C++项目,对于如今的技术环境稍显过时。除非Linux相关,否则可能有更多选择。 5. DZone - 用户共享的代码宝库 DZone拥有超过名用户贡献的个代码片段,是寻找代码的宝藏库,但需耐心挖掘。这里隐藏着无数珍贵的编程灵感,适合有毅力的探索者。 6. Snipplr - 精致片段的海洋 尽管Snipplr的用户数略逊于DZone(约人),但代码片段数量却高达,增长迅速。它还提供了针对Textmate、Gedit、WordPress等工具的便捷插件,效率极高。 7. Google Code Search - 搜索领域的无可争议王者 最后,不能不提Google Code Search,作为搜索领域的巨头,其功能强大无需赘言。虽然Google并未透露具体代码库规模,但其与GitHub、SourceForge等海量公共代码库的紧密合作,足以证明其在源代码搜索领域的主导地位。几乎涵盖了所有编程语言的支持,是开发者寻找代码的首选工具。Spring Security 6.x OAuth2登录认证源码分析
本文深入剖析了Spring Security框架中OAuth2客户端登录认证的实现源码。首先,我们介绍OAuth2协议的基本概念,它旨在解决互联网安全信任问题,允许第三方合法、安全地访问受保护资源,如用户无卡账户。通过例子解释了如何通过注册第三方、提供授权交互、以及发放交易凭证来实现这一过程。接着,详细阐述了OAuth2协议如何获取访问令牌(accessToken),包括常见的授权模式。
在Spring Security中,OAuth2客户端配置主要涉及添加`SecurityFilterChain`的`oauth2Login`配置项和在`application.yaml`文件中注册客户端。默认配置下,添加`oauth2Login`即可启用过滤器链,包含`OAuth2AuthorizationRequestRedirectFilter`和`OAuth2LoginAuthenticationFilter`。这些过滤器分别处理授权请求和认证过程。在配置文件中注册客户端时,主要配置`client-id`和`client-secret`,这些参数需要在OAuth2服务端注册应用后获取。
`OAuth2AuthorizationRequestRedirectFilter`负责向OAuth2服务端发起认证请求,创建一个重定向到服务端获取code的地址。而`OAuth2LoginAuthenticationFilter`则处理认证过程,通过解析来自服务端的响应生成认证对象。认证过程中,通过`OAuth2AuthorizationExchange`对象以及`ClientRegistration`信息,调用`OAuth2LoginAuthenticationProvider`请求获取访问令牌和用户信息,最终封装成`OAuth2LoginAuthenticationToken`返回。
`OAuth2LoginAuthenticationProvider`扮演关键角色,负责请求服务端获取访问令牌,并获取用户信息以访问受保护资源。在获取用户信息过程中,首先通过`OAuth2AuthorizationRequest`对象获取原始授权请求,然后通过`OAuth2AuthorizationResponse`获取服务端重定向回来的响应,包括state参数。最后,这些信息被封装到`OAuth2LoginAuthenticationToken`中,用于后续认证操作。
在访问受保护资源时,通过`OAuth2UserService`实例请求OAuth2服务端的用户信息相关端点。关键代码在`OAuth2UserRequestEntityConverter#convert`方法中,用于生成请求对象,允许携带访问令牌访问资源。
本文提供了Spring Security框架内OAuth2客户端源码的详细分析,旨在为扩展对接其他OAuth2服务端提供参考。通过理解这些源码,开发者可以更好地集成第三方认证服务,实现更安全、灵活的登录认证机制。
此外,附录部分提供了在GitHub中注册OAuth2客户端的详细步骤,包括注册地址、填写表单、查看客户端信息、以及访问官方文档。遵循这些步骤,开发者可以成功在GitHub上注册自己的OAuth客户端,为应用集成GitHub API做好准备。