本指南旨在帮助您编写和维护自己的Adblock Plus过滤器。通过创建自己的过滤器,您可以更好地控制要访问的网站上不希望看到的东西,包括广告,图像,请求和脚本。

重要提示:本指南中的所有过滤器示例仅是示例,并不意味着要使用。

目录

  • [关于Adblock Plus过滤器]
  • [创建过滤器]
  • 基本过滤规则
    • [定义例外规则]
    • [在地址的开头或结尾匹配]
    • [标记分隔符]
    • [注释]
  • 高级功能
    • 指定过滤器选项

      • [类型选项]
      • [反类型选项]
      • [对第三方/第一方请求的限制]
      • [域限制]
      • [Sitekey限制]
      • [内容安全政策]
      • 将请求重定向到内部资源
        • [有关使用重写选项的一些注意事项]
    • [使用正则表达式]
    • [特别评论]
  • 元素隐藏
    • [基本规则]
    • [将规则限制到某些域]
    • [属性选择器]
    • [高级选择器]
    • [扩展CSS选择器(特定于Adblock Plus)]
    • [例外规则]
    • [通用/特定过滤器]
  • [在服务器上实现站点密钥]

关于Adblock Plus过滤器

以下过滤器列表已随Adblock Plus预先安装:

  • 可接受的广告
  • EasyList(+捆绑的语言过滤器列表-取决于浏览器的语言设置)
  • ABP反规避过滤器列表

除了这些预安装的过滤器列表之外,您还可以创建自己的过滤器。过滤器只是一个告诉您的浏览器要阻止哪些元素的规则。过滤器列表是一组规则,告诉您的浏览器要阻止的内容。

创建过滤器

过滤器或过滤器规则有几种类型,包括:

  • 阻塞过滤器

    在网络级别上应用,以决定是否应阻止请求。

  • 隐藏过滤器

  • (通常称为元素隐藏过滤器)

隐藏页面上的特定元素,包括使用扩展选择器(模拟)和代码片段隐藏元素。

  • 异常过滤器

    用于取消阻止某些请求或取消隐藏某些网站上的某些元素。此外,尽管过滤器会阻止某些请求,但它们仍可以允许某些网络请求。

注意:可以将“阻止和隐藏”滤镜设置为否定或反转其他滤镜的效果。然后将它们视为异常过滤器

您可以通过Adblock Plus设置页面轻松创建过滤器。

适用于所有支持WebExtensions API(例如Chrome,Edge,Firefox,Opera和Yandex Browser)的浏览器的Adblock Plus(3.4版及更高版本):

  1. 单击Adblock Plus图标,然后单击右上角的齿轮图标。
    将打开“ *Adblock Plus设置”*选项卡。
  2. 选择“ *高级”*选项卡,然后滚动到“ *创建和编辑过滤器列表”*部分。
  3. 单击开始创建我的过滤器列表
  4. 输入您的过滤器,然后点击保存

基本过滤规则

您可以定义的最简单的过滤器是您要阻止的请求的地址。但是,每次打开页面时,此地址通常都会更改。例如,它可能是http://example.com/ads/banner123.gif在那里123是一个随机数。在这里,封锁完整的地址将无济于事。您将需要一个更通用的过滤器,例如http://example.com/ads/banner*.gif或什至http://example.com/ads/,该过滤器会阻止“ ads”目录中的所有内容。

注意:请确保不要过多地使用通配符。过滤器http://example.com/将阻止所有横幅,但也会阻止example.com您可能仍希望看到的所有其他内容。

定义例外规则

如果您发现过滤器阻止了不应过滤的内容,则可以考虑使用例外规则,而不是删除或匹配过滤器。例外规则允许您定义不应应用过滤器的情况。异常规则与过滤规则没有什么不同;您可以使用通配符或正则表达式。

示例:如果您对过滤器adv阻止不满意http://example.com/advice.html,则可以定义例外规则@@advice。您只需要在其之前@@指示异常规则即可。

但是,异常规则可以做更多的事情。例如,如果指定$document option,则整个页面都会出现异常。如果您的例外规则是,@@||example.com^$document并且您从打开一个页面example.com,则Adblock Plus将在此页面上关闭,并且不会阻止任何内容。

在地址的开头或结尾匹配

Adblock Plus通常将每个过滤器视为在其开头和结尾都带有通配符(即,ad和之间没有区别*ad*)。尽管这通常没有问题,但有时您可能希望定义的过滤器仅在地址的开头或结尾匹配。

示例:您想阻止所有Flash,但是如果添加过滤器swf,该地址http://example.com/swf/index.html也将被阻止。解决方案是在过滤器中添加管道符号(|),以表明此时应有确定的终点。例如,过滤器swf|阻止,http://example.com/annoyingflash.swf但不阻止http://example.com/swf/index.html。和过滤|http://baddomain.example/http://baddomain.example/banner.gif,但没有http://gooddomain.example/analyze?http://baddomain.example

你可能想阻止http://example.com/banner.gif,以及https://example.com/banner.gifhttp://www.example.com/banner.gif。您可以通过在过滤器前面放置两个管道符号来实现。这样可确保过滤器在域名“:”的开头匹配||example.com/banner.gif,并阻止所有这些地址,而不阻止http://badexample.com/banner.gifhttp://gooddomain.example/analyze?http://example.com/banner.gif

标记分隔符

有时,您可能需要在过滤器中接受任何分隔符。例如,你可以写一个过滤器,阻止http://example.com/http://example.com:8000/,但不会http://example.com.ar/。此处,该符号^可用作单个分隔符的占位符http://example.com^。分隔符可以是任何东西,但一个字母,数字或以下情况之一:_-.%。地址的末尾也可以用作分隔符。

在以下示例中,所有分隔符均以蓝色粗体显示:

HTTP: // example.com 8000 / foo.bar **?**a = 12 b =%D1%82%D0%B5%D1%81%D1%82

可以使用过滤器^example.com^^%D1%82%D0%B5%D1%81%D1%82^或阻止该地址^foo.bar^

注释

任何以感叹号(!)开头的规则均被视为注释。Adblock Plus会忽略此规则进行实际屏蔽,因此可以在注释中编写任何内容。您可以在过滤器上方放置注释规则以描述其目的或功能,也可以在过滤器列表上方放置注释以说明您的作者身份(大多数过滤器列表作者都这样做)。

高级功能

指定过滤器选项

Adblock Plus允许您指定许多选项来修改过滤器的行为。这些选项应在过滤器末尾的,美元符号($)后用逗号()分隔。

示例:/ ads / * $ script,match-case

在这里,/ads/*是实际的过滤器,script并且match-case是其选项。当前,支持以下选项:

类型选项

这些决定了过滤器可以阻止哪些元素类型(或在例外规则的情况下进入白名单)。可以指定多个类型选项以指示该过滤器应应用于几种类型的元素。可能的类型包括:

  • script -通过HTML脚本标签加载的外部脚本
  • image -常规图像,通常通过HTML img标签加载
  • stylesheet -外部CSS样式表文件
  • object -由浏览器插件处理的内容,例如Flash或Java
  • xmlhttprequest-使用XMLHttpRequest对象或fetch()API开始的请求
  • subdocument -嵌入式页面,通常通过HTML嵌入式框架(iframe)包含在内
  • ping -请求发起人 或navigator.sendBeacon()(需要Adblock Plus 2.7.1或更高版本)
  • websocket-通过WebSocket对象发起的请求(需要Adblock Plus 2.8或更高版本)
  • webrtc-通过RTCPeerConnection实例打开与ICE服务器的连接(要求更高的Adblock Plus 1.13.3或更高版本(对于Chrome和Opera),要求3.0或更高版本(对于Firefox)
  • document-页面本身(只能将异常规则应用于该页面)
  • elemhide-仅适用于例外规则,类似于document但仅关闭页面上的元素隐藏规则,而不是关闭所有过滤器规则(需要Adblock Plus 1.2或更高版本)
  • generichide-仅适用于例外规则,类似于elemhide但仅关闭页面上的通用元素隐藏规则(需要Adblock Plus 2.6.12或更高版本)
  • genericblock-仅适用于例外规则,就像generichide但可以关闭通用阻止规则(需要Adblock Plus 2.6.12或更高版本)
  • popup-在新选项卡或窗口中打开的页面注意:默认情况下,只有$popup指定了type选项,过滤器才会阻止弹出窗口。
  • font -外部字体文件
  • media -常规媒体文件,例如音乐和视频
  • other -上面列表中未涵盖的请求类型
  • match-case-确保过滤器仅适用于大小写匹配的请求,例如过滤器*/BannerAd.gif$match-case块,http://example.com/BannerAd.gif但不适用于http://example.com/bannerad.gif

反类型选项

这些指定了不应应用过滤器的请求类型。可能的反类型选项包括〜script,〜image,〜stylesheet,〜object,〜xmlhttprequest,〜subdocument,〜ping,〜websocket,〜webrtc,〜document,〜elemhide,〜other

对第三方/第一方请求的限制

如果指定了第三方选项,则过滤器仅应用于来自与当前查看页面不同来源的请求。同样,〜third-party将过滤器限制为来自与当前查看页面相同来源的请求。

域限制

该选项domain=example.com意味着过滤器应仅应用于example.com域中的页面。可以指定多个域|作为分隔符。对于选项domain=example.com|example.net,过滤器仅应用于来自example.comexample.net域的页面。如果域名以开头~则不应将过滤器应用于该域的页面。例如,domain=~example.com装置,该过滤器应的网页上施加从任意域,但example.comdomain=example.com|~foo.example.com限制滤波器应用于example.com与外域foo.example.com的子域。

Sitekey限制

该选项sitekey=abcdsitekeydcba意味着过滤器应仅应用于提供公共密钥和签名的页面,该签名可以由过滤器中也包含的同一公共密钥来验证(但不能结尾=)。可以将多个站点密钥|用作分隔符。例如,该选项sitekey=abcdsitekeydcba|bcdesitekeyedcb仅允许将过滤器应用于提供sitekey abcdsitekeydcba或的页面bcdesitekeyedcb。这类似于域限制,但允许单个过滤器应应用于大量域的情况。注意:Sitekey限制要求在服务器端进行修改。

内容安全政策

该选项将向与过滤器匹配的请求文档的HTTP响应中注入csp=script-src: 'none'Content Security Policy标头script-src: 'none'(假设具有相同选项的例外规则也不匹配,并且该文档未列入白名单)。内容安全策略会script-src: 'none'阻止文档中的所有脚本,包括内联脚本。通常应避免使用此过滤器选项,除非作为最后的手段来避免高级规避。(需要Adblock Plus 3.1或更高版本。)

将请求重定向到内部资源

rewrite=选项允许将URL重写(或重定向请求)到内部资源,以便在不引起错误的情况下将其停用。通过名称和前缀指示内部资源abp-resource:以便被识别。例如,$rewrite=abp-resource:blank-js发送一个空的JavaScript。(需要Adblock Plus 3.5或更高版本。)可用的内部资源是:

  • blank-text -空文字
  • blank-css -空的样式表
  • blank-js -空的JavaScript
  • blank-html -空的HTML文档
  • blank-mp3 -一个0.1秒的静音MP3音频文件
  • 1x1-transparent-gif -1x1像素透明GIF图像
  • 2x2-transparent-png -2x2像素的透明PNG图像
  • 3x2-transparent-png -3x2像素的透明PNG图像
  • 32x32-transparent-png -32x32像素的透明PNG图像

其他任何值都将使过滤器无效,并让请求通过。

有关使用重写选项的一些注意事项
  1. rewrite=使用$domain过滤器选项只能在某些域中使用。有关更多信息,请参阅本指南的“ 域限制”部分。
  2. rewrite=不能与$third-partyfilter选项一起使用,但可以与一起使用$~third-party
  3. 过滤器模式必须为*或以开头||

使用正则表达式

Adblock Plus支持以正则表达式(regex)编写的过滤器。例如,过滤器/banner\d+/匹配banner123banner321但不匹配banners。我们建议您查阅Mozilla 关于正则表达式的文档,以学习如何编写它们。

注意:出于性能原因,建议尽可能避免使用正则表达式。

特别评论

特殊注释仅对下载的过滤器列表有效,而对自定义过滤器无效。他们可以为过滤器列表设置许多参数:

  • ! Homepage: http://example.com/ -此评论确定应将哪个网页链接为过滤器列表主页。
  • ! Title: FooList-此注释为过滤器列表设置了固定的标题。如果存在此注释,则用户不再能够更改标题。
  • ! Expires: 5 days-此注释设置过滤器列表的更新间隔。该值可以以天(例如5天)或小时(例如8小时)为单位给出。1小时到14天之间的任何值都是可以的。请注意,此时间间隔之后不一定会进行更新。实际的更新时间会稍微随机化,并取决于一些其他因素以减少服务器负载。
  • ! Redirect: http://example.com/list.txt-此注释表示过滤器列表已移至新的下载地址。Adblock Plus会忽略该注释以外的任何文件内容,并立即尝试从新地址下载。如果成功,则在设置中更新过滤器列表的地址。如果新地址与当前地址相同,则忽略此注释,这意味着它可用于强制执行过滤器列表的“规范”地址。
  • ! Version: 1234-此注释定义了过滤器列表的数字版本。此版本号显示在问题报告中,可用于验证报告是否引用了过滤器列表的当前版本。

元素隐藏

基本规则

不幸的是,有些广告不能立即被阻止。这是因为它们作为文本嵌入在网页本身中。如果您查看网页的源代码,则可能会发现以下内容:

Cheapest tofu, only here and now!
Really cheap tofu, click here!

Only here you get the best tofu!

您需要下载网页才能下载广告。下载网页后,您可以隐藏不想看的广告。

上面的示例广告包含在具有class属性的元素内textad。该规则##.textad将隐藏任何此类元素。这里##标记了元素隐藏规则,其余的是选择器,用于标识需要隐藏的元素。您可以按元素的ID属性(同样,###sponsorad隐藏第二个广告)和按名称(例如##textad,第三个广告)隐藏元素。

将规则限制到某些域

通常,您可能希望在一个网站上隐藏特定的广告,但不希望将规则应用于另一网站。例如,该规则##.sponsor可能会在某些站点上隐藏有效的代码。但是,如果将其编写为example.com##.sponsor,它将应用于http://example.com/http://something.example.com/,但不会应用于http://example.org/。您也可以通过简单的用逗号分隔指定多个域:domain1.exampledomain2.exampledomain3.example##.sponsor

如果域名前面带有~,则该规则不适用于该域的页面。例如,~example.com##.sponsor适用于任何领域的页面,但"example.com"example.com,~foo.example.com##.sponsor让规则适用于"example.com"与外域"foo.example.com"的子域。

注意:由于元素隐藏的实现方式,您只能将其限制为完整域名。您不能使用地址的任何其他部分,也不能domain代替domain.example,domain.test

属性选择器

有些广告客户对您而言并不容易-他们的文字广告既没有ID,也没有类别属性。您可以使用其他属性来隐藏这些属性,例如,##table[width="80%"]隐藏宽度属性设置为80%的表。如果您不想指定属性的完整值,请##div[title*="adv"]隐藏所有div具有title属性的字符串,其中该属性包含string "adv"。您还可以检查开始和属性的末尾,例如##div[title^="adv"][title$="ert"]皮格与标题开始元素"adv"和结尾"ert"。如您所见,您还可以使用多个条件- table[width="80%"][bgcolor="white"]匹配宽度属性设置为80%且bgcolor属性设置为白色的表。

高级选择器

通常,浏览器支持的任何CSS选择器都可以用于元素隐藏。例如,以下规则隐藏了div具有“ adheader”类的元素之后的所有内容:##。adheader + *。有关CSS选择器的完整列表,请参考W3C的CSS选择器文档。请记住,与仅基于类或ID属性的选择器相比,浏览器处理这些类型的选择器速度较慢。

注意:建议高级用户使用此功能。您应该对CSS选择器感到满意。如果您使用无效的CSS语法,Adblock Plus将不接受您的自定义过滤器。

扩展CSS选择器(特定于Adblock Plus)

有时,标准CSS选择器的功能不足以隐藏广告。对于这些情况,我们添加了一些新的选择器,即:

  • :-abp-has()
  • :-abp-contains()
  • :-abp-properties()(Chrome和Opera需要Adblock Plus 1.13.3或更高版本。)

在编写使用这些扩展选择器的元素隐藏过滤器时,必须使用#?#csyntax,例如example.com#?#selector。但是,请务必注意,这样做会对性能产生影响,因此应谨慎行事,并确保这些过滤器特定于尽可能少的域和元素。

  • :-abp-has()

    所述:-abp-has(selector)选择器选择元件基于它们的内容。例如,:-abp-has(> div > a.advertiser)选择包含与类广告商一起包含的元素作为直接后代的元素。内部选择器可以相对于元素范围,并且可以使用任何伪选择器(包括:-abp-has())来确定是否进行选择。

注意:过滤器会example.com#?#:-abp-has(.sponsored)隐藏所有页面,因为该类也包含在中``。为避免隐藏所有页面,只需添加>+

示例:如果您eyeo.com#?#:-abp-has(code)在https://blog.csdn.net/weixin_40747900/article/details/104328954/how-to-write-filters上添加过滤器并进行硬刷新,则所有内容都会被阻止。这是因为包含。要解决此问题,请将过滤器更改为eyeo.com#?#:-abp-has(> code)。硬刷新后,仅的父元素``被阻止。

  • :-abp-contains()

    :-abp-contains(text)选择器选择元素基于其文本内容。例如,div.sidebar > span:-abp-contains(Advertisement)选择带有包含单词“ Advertisement”的侧边栏类的元素``。实际上,您希望将其与结合使用:-abp-has()以选择外部容器(类似于div.sidebar > div:-abp-has(span:-abp-contains(Advertisement))选择包含广告标签的容器)。

示例:如果您将过滤器添加到eyeo.com#?#:-abp-contains(filters)https://blog.csdn.net/weixin_40747900/article/details/104328954/how-to-write-filters并进行硬刷新,则不会发生任何变化。如果将过滤器更改为,eyeo.com#?#div:-abp-contains(filters)并且硬刷新div.outer(包含页面的中间部分)被阻止,因为其中的某个位置``是“过滤器”一词。要解决此问题,请将过滤器更改为eyeo.com#?#.article-heading:-abp-contains(filters)。硬刷新后,仅隐藏每篇文章的标题。

  • :-abp-properties()

    所述:-abp-properties(properties)选择器选择元件基于样式表的属性。例如,:-abp-properties(width:300px;height:250px;)在样式表中选择具有相应CSS规则的元素,该样式表将width和height分别设置为300px和250px的值。属性名称区分大小写。此外,可以使用通配符,以:-abp-properties(width:*px;height:250px;)匹配以像素为单位指定的任何宽度和250像素的高度。

您也可以通过用“ /”括起属性表达式来使用正则表达式。例如,:-abp-properties(/width:30[2-8]px;height:250px;/)匹配302和308像素之间的宽度和250像素的高度。

注意:CSS属性过滤器的旧语法已被弃用,并将自动转换为新格式。选择样式属性的语法保持不变。

注意:使用时background-color property,请使用rgb()表示法。例如:-abp-properties(background-color: #3D9C4F;),使用代替:-abp-properties(background-color: rgb(61, 156, 79))

示例[-abp-properties='width:300px;height:250px;']转换为:-abp-properties(width:300px;height:250px;):-abp-properties()还使用伪元素中的样式属性(例如:: before和:: after)来选择元素。例如,:-abp-properties(content:'Advertisement')匹配Advertisement找到字符串的元素::before::after伪元素。

例外规则

例外规则可以停用特定域上的现有规则。这些对过滤订阅者非常有用,这些作者正在扩展他们无法更改的另一个过滤订阅。例如,##.textad可以使用exception rule在example.com上停用该规则example.com#@#.textad。这两个规则的组合与单个规则具有完全相同的效果~example.com##.textad。建议仅在无法更改过于笼统的元素隐藏规则时才使用异常规则。在所有其他情况下,最好将此规则限制为必要的域。这些例外也将应用于高级伪选择器规则。

示例:如果您##aside.info在https://blog.csdn.net/weixin_40747900/article/details/104328954/how-to-write-filters上添加过滤器,eyeo.com#@#aside则不会将任何内容列入白名单。如果添加过滤器##asideeyeo.com#@#aside.info则不会将任何内容列入白名单。过滤器必须完全相同,即eyeo.com#@#aside.info

通用/特定过滤器

使用$generichide$genericblock过滤器选项,区分常规过滤器和特定过滤器变得很重要。

如果过滤器匹配一个或多个域,或者匹配站点密钥,则我们将其分类为特定过滤器。如果过滤器未指定任何域(或仅指定了域例外),也没有站点键,则该过滤器将视为通用。例如,example.com##.textad是一个特定的过滤器,而##.textad~example.com##.textad是通用的。

请注意,使用阻止规则时,必须在$domain选项下指定域,以将其视为特定域。例如,||example.com^被认为是通用的而/ads/*$domain=example.com特定于站点。

在服务器上实现站点密钥

要应用受网站密钥限制的过滤器,网页需要返回base64编码的公共密钥版本以及Adblock Plus可以验证的签名。当前,这意味着将它们包括在HTTP响应标头(X-Adblock-Key:abcdpublickeydcba_abcdsignaturedcba)和文档的根标记()中。

您必须创建一个私有RSA密钥(最好是512位,以保持较低的传输量),然后创建一个公共密钥的DER表示。用于创建签名的数据是由NUL字符“ \ 0”分隔的请求变量(即URI,主机和用户代理)的级联列表。例如, /index.html?q=foo\0www.example.com\0Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0

要生成此字符串的签名,请使用签名算法SEC_OID_ISO_SHA_WITH_RSA_SIGNATURE(使用OpenSSL时的默认算法)。

adblock过滤规则编写相关推荐

  1. 【规则】Adblock Plus 广告过滤规则自用整理

    [规则]Adblock Plus 广告过滤规则自用整理 百度贴吧 tieba.baidu.com##li[data-field="{}"][add-shield-track=&qu ...

  2. Firefox火狐广告过滤插件Adblock Plus过滤规则包[中文维护小组]

    如果你经常使用Firefox火狐浏览器那么一定知道Adblock Plus这款广告过滤插件,功能非常强大,但是Adblock Plus广告过滤插件自带的过滤规则并不多,而且也不太适合我们中国的网站,在 ...

  3. adguard和adblock哪个好_AdGuard过滤规则分享

    前言 我和很多人一样一开始用Maxthon傲游浏览器,然后见证了国内第三方浏览器的群雄逐鹿到只剩下360和腾讯,现在也基本回归Google Chrome,广告过滤我也是一路从AdBlock Plus到 ...

  4. adguard和adblock哪个好_世界上最高级的广告拦截程序AdGuard过滤规则分享

    世界上最高级的广告拦截程序AdGuard过滤规则分享 2020-01-22 13:49:44 5点赞 80收藏 15评论 创作立场声明:原创心得 ## 前言 我和很多人一样一开始用Maxthon傲游浏 ...

  5. abp过滤规则android,撰写 Adblock Plus 过滤规则

    当前的 Adblock Plus 版本允许您通过许多不同的方法来优化过滤规则.本文档就是告诉您如何做. 声明:这里给出的过滤规则只是示例,不一定能直接使用. AdBlock Plus 过滤规则介绍 本 ...

  6. adblock plus 增加自定义过滤规则,禁止弹出广告网页和隐藏广告块

    电影下载网站,经常会有嵌入广告,比如点击页面任何地方,都会弹出其它的彩票/游戏网站. 或者在页面中有很多个广告块,游戏视频,彩票网站,购物广告. 即便开启了adblock plus,仍然能看到一些广告 ...

  7. adblock plus过滤规则介绍

    (整理自adblock 官网) 基本过滤规则 最简单的过滤规则当然就是您想阻挡的横幅广告地址,但是这些地址常常会在您每次打开页面时改变.例如: http://example.com/ads/banne ...

  8. Adblock plus 过滤规则

    整理自官方规则 AdBlock Plus 过滤规则介绍 基本过滤规则 最简单的过滤规则当然就是您想阻挡的横幅广告地址,但是这些地址常常会在您每次打开页面时改变.例如: http://example.c ...

  9. Logback中如何自定义灵活的日志过滤规则

    当我们需要对日志的打印要做一些范围的控制的时候,通常都是通过为各个Appender设置不同的Filter配置来实现.在Logback中自带了两个过滤器实现: ch.qos.logback.classi ...

最新文章

  1. awk数组命令经典生产实战应用拓展
  2. linux红帽网页中文乱码解决,【linux学习笔记】安装redhat时中文显示乱码(小方框)解决方法...
  3. 最新最全的ASP.NET学习资源大全
  4. win服务器自动发邮件,windows关机前执行脚本设置与关机blat自动发送邮件脚本模板...
  5. 你的灯亮着吗?阅读笔记之一
  6. C++ const修饰符的简单介绍
  7. 史上最可爱的关系抽取指南?从一条规则到十个开源项目
  8. java 串的顺序存储_算法入门之串的顺序存储表示
  9. 如果查看oracle_home是否共享_现在还有小伙伴用XP系统吗?经常会共享打印问题...
  10. springboot + mybatis 学英语网、背单词网站
  11. SpringFramework-IOC(依赖注入)+AOP(面向切面编程)
  12. RSS阅读器Reeder简单使用攻略
  13. android 拷贝大文件,不用数据线,手机和电脑互传大文件
  14. ssh登录极路由后台_OpenWrt刷机详细流程(极路由)
  15. 美国2011高分魔幻大片《哈利·波特与死亡圣器(下)》蓝光BD 1080p 720p免费下载...
  16. 苹果软件更新在哪里_苹果iOS 14.1/iPadOS 14.1正式版发布:新增更新机型[多图]-软件资讯...
  17. ridge regression and lasso analysis-reproduced from csdn
  18. [渝粤教育] 西南科技大学 建筑CAD 在线考试复习资料
  19. Oracle-SQLLDR加载TPC-DS数据
  20. C语言求幂的三种方法

热门文章

  1. 【mysql】phpstudy8打开MySQL命令行的方法
  2. shopee虾皮货代仓储打包系统erp铺货中转仓
  3. 医学研究人员为什么要学习R语言?哪本书最适合学习?
  4. 欺骗的艺术----(5)
  5. 什么是响应式设计?响应式设计的基本原理是什么?如何做
  6. 半导体鼻祖:仙童半导体的故事
  7. matlab波门,一种距离波门拖引有源干扰的仿真设计方法与流程
  8. Pwn2Own:浏览器血雨腥风独活Chrome 智能手机波澜不惊单挂iphone
  9. ip地址+斜杠数字含义
  10. python3统计英文诗歌每行单词数量