C# | 网易云音乐歌单下载
前言 国庆了呢~ 祝祖国生日快乐~~ 有时候难免有下载音乐的需求,但是网易云就算是开了会员,下载的歌曲也不是 mp3 格式的,一整个歌单下下来基本只剩半数左右了,但是这种小问题怎么能难住一个爱折腾的程序员呢?于是就有了本篇 当然声明一下,本文提供方法无法下载 VIP 音乐。同时下载的音乐如果你要拿去商用什么的,侵权了也请自己负责喽。 原理 & 准备 既然网易云客户端的音乐可以直接听,那么大概是有办法下载到原音频的,一些特殊网站也有这种服务,但是如果要批量下载音乐就不好办了。而且我喜欢的音乐和别人的歌单离线无法查看或无法查看全部内容,所以得另寻他法了。 于是乎很容易就在 GayHub 上找到了解决的方法。 就是你了 —— NeteaseCloudMusicApi 据文档,NeteaseCloudMusicApi 可以 跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API ,从而实现登录、查看歌单和歌曲详情等操作。 不过这种方法下载的音乐很多没有 tag 信息,所以可以先用网易云音乐下载一遍,然后把没下载的单独拎出来用 API 去下载。 这里按照文档部署完毕后 ...
科学无国界,Science 却有双标
5049cdc8b884eb861b1d0062e503fecc8068e749f7923cd81e80e80cfd506350e8024d1533a1fc4c22fd889ac1375b50b5984d0dd63bb916dfbe2d07142e7bd16a5badd63db3ec8a87cfd6e64d97fc7a71bc47d6fc4d1a366c22ee2d83b5da4aa36c23853892a4678b9484a94f620434977752b298c000120053bf5c3526a5000559a563aa408bc92b501075fcf2ad40d0befdd7738fd5dd0aab69472a9aa68054c787d617468db32475febe0a83a97b4ce7824a5386b32c77f73b03eac2e7a44a7ac21d773466498d88e45472dec0ccd0852c8dcf6a9ac70e141c6e8685ae70baf98fcbbc2dbbd585af4ce22d149f5c32b23a03460869cba ...
实时曼德布洛特集合渲染
前言 数学可以是非常漂亮的,Mandelbrot Set 就是个很好的例子,放几张图 单击图片可放大哦~ 非常漂亮对吧~ 而这些其实都是由单单一个式子得到的: Zn+1=Zn2+C\bf{Z_{n+1}}=\bf{Z_{n}}^{2}+C Zn+1=Zn2+C 其中 Zn+1\bf{Z_{n+1}}Zn+1、Zn\bf{Z_{n}}Zn、C\bf{C}C为复数 曼德布洛特集合 (Mandelbrot Set) 便是使这个递推式从 Z0=0\bf{Z_{0}}=0Z0=0 开始递推而不发散的 C\bf{C}C 的集合 后来还有很多其他的式子被发现,本篇便介绍最经典的曼德布洛特集合的渲染方法。 CPU 算力不够,所以本例使用 Unity 3D 通过 shader 调用 GPU 进行计算。 本例的 WebGL 编译版本(加载较慢): Or 戳我 实现 本例使用 Unity 2020.3.6f1c1 准备 新建个 无光照渲染器 (NewUnlitShader),新建对应的材质。 新建个 GameObject 挂上 Mesh 和 MeshRenderer, ...
C# 爬虫、EF Core 实践 | 爬取在线新华字典
本例使用 .NET 5、Visual Studio Code 准备 准备数据源 搜索一下,发现 这个网站 提供了通过所有的拼音来索引汉字,于是可以通过这个爬取所有汉字。 新建项目 12dotnet new console -o XinHuaDictionarySpidercd XinHuaDictionarySpider 添加依赖 EF Core: 数据库用 Html Agility Pack (下称 HAP): 分析 Html System.Text.Encoding.CodePages: GB2812 编码需要 其中 Html Agility Pack 可用 AngleSharp 等其他 Html 解析库替代,本例以 Html Agility Pack 为例。 如果爬取的网页用不上 GB2812 编码的话就不需要 System.Text.Encoding.CodePages 了。 123dotnet add package Microsoft.EntityFrameworkCore.Sqlitedotnet add package HtmlAgilityPackdot ...
C# dll 嵌入
C# / WPF dll 嵌入 前言 构建应用时常常有生成单个文件的需要,在 .NET Core 中发布程序有生成单个文件的选项,但如果不得不使用 .NET Framework ,也不是没有办法实现生成单个文件。 正文 不需要 ILMerge 或者 ILRepack 等工具,且这些工具常常麻烦且失效。 以 WPF 为例,在写完程序后,先把 NuGet 包或者自己的 dll 文件丢到项目中,并修改生成操作为嵌入的资源。 然后订阅 AppDomain.CurrentDomain.AssemblyResolve 事件,代码如下。 12345678910111213141516171819202122232425262728293031323334353637private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { string resources = null; foreach (var item in ...
C# 获取 Java 环境路径
C# 获取 Java 环境路径 前言 写 SMCL 的时候发现 KMCCC 的 FindJava() 失效了. KMCCC 是这么写的 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 /// <summary> /// 从注册表中查找可能的javaw.exe位置 /// </summary> /// <returns>JAVA地址列表</returns> public static IEnumerable<string> FindJava(){ try { var rootReg = Registry.LocalMachine.OpenSubKey("SOFTWARE"); return rootReg == null ? new string[0] : Fin ...
GitHub + jsDelivr 实现免费高速图床
更新:jsDelivr 已更新条文表示不支持此做法,因此强烈建议使用其他免费图床如 聚合图床 本篇较旧,请酌情阅读 本篇所有图片均为此方式上传 前言 图片在很多地方都是十分重要的组成元素,而如何让图片能够快速稳定的加载便成了一门学问。 比如在MCBBS中,大图片便无法直接上传;一些白嫖的个人网站也往往因为速度不佳等因素而不会使用自己服务器上的图片资源。 这个时候首先想到的便是图床了,而很多图床并不好用,速度差、限制多、容易跑路 等等,那不如我们自己来搭建一个图床吧。 完全免费,有手就行哦~ 准备 你只需要这些: Github 账号一个 在这里下载 PicGo 最新版 ,并安装 个人网盘 win-2.3.0-beta.3 备份 Github 有时候会访问较慢,但不影响图床速度。 Let’s Start! 获取Github token 在主页进入 Settings 进入Developer settings 如图所示新建一个token,其中Note随意,Select scopes勾选整个repo即可,点击最下方的Generate token即可完成建立 ...