关于JS公共库的CDN加速服务,以及 Staticfile、BootCDN 这类黑产CDN投毒的解决方法

请谨慎使用国内的CDN服务
近期爆出知名CDN服务商 Staticfile、BootCDN、BootCSS、polyfill 等已被黑产所控制,会随机给用户挂广告、劫持站点流量等恶劣行为,请诸位站长一定要小心。

前言

很久之前,本站的主机服务器发生问题,导致了下载速度只剩下10kb,一个页面得加载好几秒钟……
我通过Chrome控制台,检测到是一些JS库拖慢了整个网站的速度。
虽然那些JS库不过5~60k的大小,但当我这破站只有10k限速的时候,你就可以想象整个页面的加载得有多慢了……

没有办法,为了让前端网页的速度能够更快一点,我只能将网站所使用的部分JS库转移到网上的JS公共库CDN加速之上了。
等到转移完毕之后,首页的加载速度果然大幅改善,然而某些不能加速的比如图片、或是自定义的脚本依然会卡网页,不过确实解了当时的燃眉之急。

当然,此刻本站已经不存在加载的问题,但我仍推荐各位中小型网站的站长、个人博客的博主使用一些JS公共库的CDN加速服务。
那么这些CDN加速的服务商有哪些呢?我们又该如何取舍?

- 阅读全文 -

为 .NET 程序嵌入最小的 Chromium 浏览器核心 Miniblink,以 Web 方式来开发和维护程序


.NET 桌面程序一般使用传统的 WinForm 或者较新的 WPF 来进行开发。
WinForm的优点是流程简单,即拖即用;但缺点是布局方式较为简陋,维护和更新困难,想要美化界面则需要涉及底层的子类化、或者重写控件绘制。
WPF 曾是微软大力推广的新型UI设计方案,采用XAML(XML)来绑定控件与代码,做到前后端分离,结构上与HTML非常相似。然而微软这种重复造轮子的行为,不仅没能推广WPF,反而因为复杂的学习成本,导致WPF一直处于叫好不叫座的尴尬境地。其实 .NET 早就该拥抱HTML这种通用的界面方案,何必再弄个WPF来脱裤子放屁呢?

其实在 .NET 中应用 Web 界面的方法有不少,最简单的就是使用内部的 WebBrowser 控件,其本身支持通过COM方式与本地代码交互,只不过因为 WebBrowser 使用的是IE内核,无法支持最新的HTML5标准,所以在设计界面时会束手束脚,也无法应用HTML最新的特性。

比较常用的方式是使用第三方的 Chromium 库如 CefSharp,但缺点就是太臃肿了!!!如果你只是写一个小程序,不会想拖个几百兆的 Chromium 运行库进去吧?

另外,微软也推出了 WebView2 组件,用于代替IE内核的 WebBrowser,只不过它需要安装运行库,且内核用的是 Edge 版本的 Chromium 内核,肯定不如原版 Chromium 迅捷。

而除了 CefSharp 和 WebView2 之外的选择,就是我今天要介绍的 Miniblink 了!

- 阅读全文 -

【VB.NET】获取DNS TXT、A、CNAME、MX、NS记录


DNS就是我们所熟知的域名系统,当我们访问一个网站的时候,可以直接输入域名地址,之后我们的请求会通过公共的DNS服务器进行解析,由DNS服务器返回域名所在服务器的IP地址,再通过IP与网站服务器进行交互。

DNS除了提供网址IP的A记录功能之外,其实还有许多其他功能,比如CNAME别名记录、MX邮件记录、NS域名服务器、TXT文本记录等。
虽然.NET系统提供了丰富的网络连接功能,却没有一个比较好用的DNS记录获取功能,如果你想获取一个域名的TXT或者MX等数据,就需要调用Windows系统内置的 DnsQuery API。
只不过 DnsQuery 用起来比较麻烦,并且返回值还需要通过指针从非托管内存中来拷贝出数据,所以我直接在网上找到了现成的C#库源码,然后用工具转化成了VB,再手动修正了一些代码错误。

- 阅读全文 -

运行时设置.NET类库与Win类库位置



虽然目前32位操作系统的用户已经很少了,但若是你的程序需要兼容x86系统,可以参考一下本文。

首先,.NET 的类库是可以同时兼容x86和x64系统的(编译选项中设置目标CPU为AnyCPU),只要你的类库不包含任何本地代码(C、C++等)、或者针对特定系统的代码。

如果你的程序调用了第三方的类库,并且只能提供 x86\x64 两个版本的话,就需要在执行时设置类库文件的位置。

- 阅读全文 -

让 SQLite.NET 支持 REGEXP 及自定义函数



SQLite 是免费、开源的内嵌式文件数据库,不需要服务器端,也没有客户端的限制,采用的是内嵌方式或者是动态链接,用来访问和改写数据库文件。SQLite 是许多操作系统(如安卓和Linux)的默认数据库,比微软的 ACCESS 高不知道哪里去。

目前最新版的 SQLite 已支持许多流行的查询函数,比如 JSONREGEXP 等。其中 REGEXP 可以对字段进行正则匹配,JSON 则是可以直接读写JSON格式的文本内容。
然而目前 SQLite 的 .NET 版本仅支持 JSON 相关函数,REGEXP 的正则匹配函数并不支持。

好在 SQLite 的扩展性非常高,我们可以自行为 SQLite 添加函数,用于补齐 SQLite.NET 内不支持的函数。
并且,由于我们采用 .NET 的正则处理类,所以我们可以使用更加标准的正则语法,而非 SQLite 较为“畸形”和不便的原生规则。

- 阅读全文 -

【VB.NET】程序域与反射,如何正确使用程序域



dotNET 中拥有“反射”这一机制,可以在运行时动态加载类库、分析类型、创建对象、调用方法属性等。因此,反射非常适合做插件系统或是动态内容更新。
然而反射拥有一个非常致命的缺点:已被加载的程序集,是无法在程序运行期间卸载的!!!
没错,如果你使用了反射功能,那么所有被加载的程序集,会一直占用你的内存,直到你关闭程序。

那么是否有方法可以在程序运行期间动态加载与卸载程序集呢?
答案就是“AppDomain(程序域)”。

- 阅读全文 -

【VB.NET】使用 NLua 来为程序添加 Lua 脚本支持


Lua 是一款免费开源的嵌入式脚本语言,使用C语言开发,轻量、敏捷、可扩展性强,因此有许多程序使用Lua作为自己的脚本开发环境,用于程序的热更新、插件系统、或是逻辑代码等等。

Lua采用C语言开发,因此C、C++可以直接将其集成到程序内部,其他语言也可以使用 Lua 的动态运行库,将其动态加载到自己的程序中。

如果想在.NET中使用Lua,目前的方案也有许多,但我个人比较推荐 MoonSharpNeoLuaNLua,其中 MoonSharp 和 NeoLua 是完全用C#写的基于Lua5.2、5.3的.NET库,而 NLua 则是基于Lua官方的DLL运行库所包装的.NET库(支持最新的LUA5.4)。
速度上应该是 NLua 更快,兼容性最高,所以本文将采用 NLua 作为教程。

- 阅读全文 -

利用CSS为网站添加透明渐变效果的背景图,以及如何用 Typecho-Plus 来简化这一步骤,实现快速切换单页的背景图,以及随机背景图的设计思路


想为网页添加背景图,我们只需要使用CSS的 background-image: url(图片地址) 即可,还可以通过 background-position background-repeat 等属性控制图片的位置、重复等参数。
若是想设置背景图透明度的话,则可以使用CSS3的linear-gradient参数,为背景图添加一个透明渐变层来实现。

比如我们想为 Typecho 添加背景图,除了可以在模板页的CSS中添加数据之外,还可以通过 Typecho 的魔术方法 !!! 来直接将html代码写入到一个文章内,这样即可为每个单独的文章或者页面添加独特的背景图。
(非Typecho博客请自行查询插入HTML代码的方法

- 阅读全文 -

Typecho Plus (v0.6.2) - 一款 Typecho 权限与解析增强插件

正式版 v0.6.2 已经发布
修正过时提醒的时区错误
修正Login块参数为0时无法设置为仅限管理员的错误
删减部分标签前后的BR标签,现在样式将会更加集中,不再有额外的BR换行了
基于CHROME的视频自动播放规则,现在自动播放视频前,脚本会将视频的属性调整为 Muted
TODO 图标资源细微调整,增加一个 DO NOT 新功能,代码为 - [dn] 不要做XXX
自定义UBB解析功能实装,请在选项中开启,并在 tpluscustom.php 中设置自定义的UBB解析方法

- 阅读全文 -

Typecho Plus (v0.6.2) 教程

最强Typecho插件就在这里!
用户文章浏览权限,如在首页隐藏、在索引页隐藏、指定会员才能浏览部分内容
文章首页摘要、过期提醒、禁止搜索引擎索引、外链优化等等
花样繁多的美化样式,支持一些流行的MD与伪MD语法,支持UBB(BBCode)解析,让你的页面不再单调
一键复制URL到Picbox中,自动将图片链接解析为图集
独家后台编辑界面优化,让你异步提交编辑,不用反复多次打开编辑界面

更多教程与介绍,戳进来看看!

- 阅读全文 -

將頁面轉換爲繁體

公告

欢迎您光临鄙人的小站,虽然没什么太专业的东西,不过如果本站的文章能让您有所收获、或者仅仅是博您一笑,那么也不枉费我建站的辛苦了!

您可以使用邮件订阅来获得邮件更新提醒。

瞎哔哔

    服务器后台更新,已使用了服务商内置的CDN,缓解最近老是断连的问题。
    不过因为后台机制变了,所以有可能出现SSL配置错误的问题,等我弄明白新后台的使用方法再说。
    希望以后不要再出幺蛾子了。 :doge:

  • 查看更多...

最新文章

随机文章

最近回复

分类

标签