在WordPress博客里,有三个名词估计很多博友都不是很了解,也有博友经常性的使用这些功能,或许也有每次只是一眼带过的而已。其实Ping、Pingback、Trackback这三个名词,分别代表通知、引用与参照,虽然短短六个字就可以解释这三个词的大意,不过还是要详细来了解一下,毕竟现在多数的个人博客或企业网站都是以WordPress型态出现,这三个功能是非常容易被用到的。

Ping、Pingback、Trackback这三者在一般博客系统上是一定会出现的,不论使用Zblog或WordPress,通常都会有这样的功能,Ping算是功能导向,Pingback简单说就是引用、Trackback则是参照告知。Ping的这部分,还可以主动通知一些服务器来收录你网站刚刚发表的新内容,WordPress后台就可以添加你需要通知的服务器。这三个功能,除了体现自身的功能外,也能增加曝光率。

接下来,给大家讲解一下Ping、Pingback、Trackback这三者之间的定义和区别吧。

Ping 是什么?

Ping?估计大家最熟悉的就是Ping一个站点是否Ping得通这个动作了。在WordPress里,此功能表现在「后台」→「设置」→「撰写」里面的「更新服务」,在这部分您可以设置当文章发表时,想要通知的服务器地址,简单说就是通知这些服务器你的博客发表了新文章,叫它们有空过来爬一爬,收录一下你的新文章。对于网站收录到搜索引擎有一定的帮助。同时,下面提到的Pingback和Trackback的通知服务也是借助「Ping」这个功能来实现。

 

Pingback 是什么?

Pingback这个功能中文解释是「引用」,当你的文章有引用别人的内容时(通常内容里有加上对方的超链接),一旦文章发表后,就会自动启动Pingback功能,这功能会发送一个Ping给对方,会以评论的方式呈现(估计很多博友有时候在发表文章时,看见自己的新文章下面有一个跟文章内容一样的评论,这就是Pingback功能的“副作用”,下面会详细解说)。发送Ping的对象取决于文章内所有的网址(超链接)。换句话说,如果文章内提及太多的网址,可能会让您的服务器加重负荷哦。提醒一下,如果太滥发这样的Pingback,会造成被标记成为垃圾信息。

※WordPress繁体版是将Pingback翻译为「通告」。

以WordPress为例,这个Pingback的功能存在于「后台」→「设置」→「讨论」,找到其中的「默认文章设置」,这边则是功能的开启与关闭(同时也包含Trackback部分)。这边的设定就是会让你的文章是否使用Pingback这项功能,设定上有时还会出现自己Ping自己。

 

Trackback 是什么?

Trackback的功能设置上和前面Pingback的设定是同一个地方,当您网站有开启这样的功能时,那通知信息会依照哪边发送呢?它是根据你文章中自己手动加入的网址,才会发送通知信息到该网站,告知该网站,你参照它网站内容而撰写一篇新的文章。

所以Trackback在中文解释上称作为「参照」(Google翻译等是翻译为引用),当然还是有人会翻作成引用,那就得看怎麽解释它了。我个人感觉翻作参照比较靠谱,因为它的意思是指文章内容是参考别人的文章而撰写出来的,而并非直接引用别人的文章内容,故称之为「参照」也未尝不可。

※WordPress繁体版是将Trackback翻译为「引用」。

以WordPress来讲,Trackback这部分的通知是依据文章编辑区下方的「发送 trackback」,您在这个栏目上可以填写上您撰写这篇文章时,所参考的网页、文章的URL等等,以空格分隔每一个网址,当您发送文章后,它就会自动发出Trackback到你指定的网站中,并以评论的形式呈现(下面会详细解说)。另外,您可以在文章编辑区下方的评论栏目里,针对单篇文章设定Trackback和Pingback。

 

Pingback和Trackback的呈现方式

那么Pingback和Trackback发送到别人网站通知时,会怎样呈现呢?一般来讲,发送过去的内容会以「评论」的方式呈现。

以「Pingback」来讲,它会抓取提及到的超链接附近的一些文字作为留言内容,留言者的名称与网址正是您该篇文章的文章名称与网址,留言IP则是您的服务器IP。若是在WordPress后台看的话,会以下面的方式呈现,前台当然就是取决于博主设定的评论样式了。

若是「Trackback」的话,它则会抓文章第一段的一些文字作为留言内容,留言者的名称和网址都会是您的文章,至于留言IP则是你网站的IP。

曝光率与垃圾信息?

相信大家一定会关心前面所提到的「曝光率」?因为Pingback和Trackback都是以评论呈现,换句话说,如果夹杂在留言区内,到是会让人家看到你的引用讯息,如果别人对你标题有兴趣,就会顺便点进去看,这样就可以增加到访率也同时免费曝光。

不过若以WordPress来讲,有些主题会把留言、Pingback、Tarckback三者混合,有些则会独立留言、Pingback和Track一区,甚至有的网站只显示留言,所以曝光这部分其实效果有限,反倒是很多国外垃圾网站,都喜欢使用Pingback、Tarckback来灌爆你的留言,WordPress内置的Akismet插件主要就是在防这种垃圾信息留言。

最后提醒一下,当文章内已经会发出Pingback的时候,不要让你的Trackback同时也发出去到同一个网站的同一篇文章,变成说同一篇文章有Pingback和Trackback两个链接,因为这样很可能对方的防垃圾信息留言机制会把你误判为垃圾信息,这样就得不偿失啦!

激活

  1. 激活码激活
  2. 授权服务器激活
  3. 破解补丁激活
  4. 修改试用时间

激活码

激活码目前为博主分享的自用激活码,到期前会更换新的激活码。

授权服务器激活

  1. 授权服务器激活为博主使用Golang开发,下载地址在这里 http://blog.lanyus.com/archives/174.html ,不开源,关于原理什么的,随便想想都能想到吧,授权服务器需要一直运行,推荐放置到 OpenShift,绑定自己域名,不建议公布自己搭建的授权服务器,Jetbrains经常封杀网上公开的授权服务器地址。
  2. 使用时将搭建好的服务器地址放置到 IntelliJ IDEA 激活提示框 License server 中,点击 OK 即可。

破解补丁激活

破解补丁为 Rover12421 开发,使用方法如下:

  1. 下载 http://idea.lanyus.com/jar/JetbrainsCrack-2.6.2.jar 并将 JetbrainsCrack-2.6.2.jar 放置到 D盘根目录。
  2. 在 IntelliJ IDEA 安装目录中找到 idea.exe.vmoptionsidea64.exe.vmoptions ,以文本格式打开并同时在两个文件最后追加 -javaagent:D:/JetbrainsCrack-2.6.2.jar
  3. 启动 IntelliJ IDEA , 输入如下激活码激活(激活码中内容可修改)。
    ThisCrackLicenseId-{
    "licenseId":"ThisCrackLicenseId",
    "licenseeName":"Rover12421",
    "assigneeName":"",
    "assigneeEmail":"rover12421@163.com",
    "licenseRestriction":"For Rover12421 Crack, Only Test! Please support genuine!!!",
    "checkConcurrentUse":false,
    "products":[
    {"code":"II","paidUpTo":"2099-12-31"},
    {"code":"DM","paidUpTo":"2099-12-31"},
    {"code":"AC","paidUpTo":"2099-12-31"},
    {"code":"RS0","paidUpTo":"2099-12-31"},
    {"code":"WS","paidUpTo":"2099-12-31"},
    {"code":"DPN","paidUpTo":"2099-12-31"},
    {"code":"RC","paidUpTo":"2099-12-31"},
    {"code":"PS","paidUpTo":"2099-12-31"},
    {"code":"DC","paidUpTo":"2099-12-31"},
    {"code":"RM","paidUpTo":"2099-12-31"},
    {"code":"CL","paidUpTo":"2099-12-31"},
    {"code":"PC","paidUpTo":"2099-12-31"}
    ],
    "hash":"2911276/0",
    "gracePeriodDays":7,
    "autoProlongated":false}
    

修改试用时间

安装前将系统时间需改为一个比较远的时间,如2050年,修改后安装 IntelliJ IDEA ,安装后选择试用,全部步骤完毕并关闭 IntelliJ IDEA 后,将系统时间修改回来。

常用下载地址

历史版下载

https://confluence.jetbrains.com/display/IntelliJIDEA/Previous+IntelliJ+IDEA+Releases https://confluence.jetbrains.com/display/PhpStorm/Previous+PhpStorm+Releases https://confluence.jetbrains.com/display/WI/Previous+WebStorm+Releases https://confluence.jetbrains.com/display/PYH/Previous+PyCharm+Releases https://confluence.jetbrains.com/display/RUBYDEV/Previous+RubyMine+Releases https://confluence.jetbrains.com/display/OBJC/Previous+AppCode+Releases https://confluence.jetbrains.com/display/CLION/Previous+CLion+Releases https://confluence.jetbrains.com/display/DBE/DataGrip+previous+releases

绿色版下载

  1. IntelliJ IDEA,进入 https://www.jetbrains.com/,找到 windows 安装版下载地址,将下载地址最后 .exe 修改为 .win.zip
  2. 其他IDE,进入 https://www.jetbrains.com/,找到 windows 安装版下载地址,将下载地址最后 .exe 修改为 .zip

常用配置

Maven

下载加速

  1. 下载 settings.xml 放置到 C:\Users\用户名\.m2\ 目录中即可。
  2. 使用文本格式打开,可修改下载源及本地仓库位置。

备注

使用 Maven 时,推荐自己安装外置 Maven,不推荐使用 IntelliJ IDEA 自带的 Maven。

常用插件

JRebel

介绍

JRebel 由 ZeroTurnaround 开发,用在 Java EE开发中,可实现修改大部分文件后不需要重启容器,即可看到效果。

激活

官方方法

进入 https://my.jrebel.com/,即可申请属于自己的JRebel激活码,该激活码使用时需要联网。

授权服务器方法

注:

  1. 激活时填写的 http://idea.jrebel.ml/ilanyulanyu19950316@gmail.com,授权服务器地址格式为:http://idea.jrebel.ml/{用户名},邮箱随意填写,idea.jrebel.ml 可能随时会被封,可使用反向代理工具代理 http://idea.lanyus.com/,即可稳定使用授权服务器。
  2. 该激活方法可离线使用6个月,可根据需要点击 Renew offline seat 即可更新离线过期时间。

XRebel

介绍

XRebel 可实时监测应用代码的性能指标和可能会发生的问题。

激活

大概步骤同 JRebel插件。

Mybatis Plus

介绍

Mybatis 框架必备插件,用于 Mybatis xml文件代码补全、Mapper接口与配置文件映射、错误检查等。

激活

  1. Mybatis Plus破解采用 Rover12421 开发的破解补丁破解。
  2. http://blog.lanyus.com/archives/237.html 下载 MyBatisPluginCrack-1.0.jar 并放置到D盘根目录。
  3. 在 IntelliJ IDEA 安装目录中找到 idea.exe.vmoptionsidea64.exe.vmoptions ,以文本格式打开并同时在两个文件最后追加 -javaagent:D:/MyBatisPluginCrack-1.0.jar

 

来源 :http://idea.lanyus.com/

本来启动很正常的项目,在我中断了一次它的项目SVN更新后,再次启动,发现这个问题,重新更新项目也没有效果

 

网上看到有人说可能是缓存的问题, clean项目、tomcat后,发现还是没有效果,后来发现一篇文章说到的 项目property 的Deployment Assembly 丢了maven的路径设置,随后按照图示将maven路径加入后,项目正常启动了

错误信息:
SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
解决方案:
1. 打开工程属性对话框,到Deployment Assembly页面,点击Add
2. 选择Jave Build Path Entries
3. 把程序用于的Library加入进来
4. 重新运行Server应该看不到这个问题了

 

前几天接了一个APP的项目,down下来后发现pom文件报错,检查后发现pom指定的包都没有下载下来

 

再仔细观察 项目buildpath中指定的repository 并不是我自己的maven安装路径,是C盘用户下的某个位置,我的maven仓库在D盘

修改eclipse项目中maven 仓库的路径步骤如下:

1.确认maven的配置文件中 repository的设定路径 进入conf/ 修改setting.xml项

 

<localRepository>D:/Maven/repo-im</localRepository>

 

2.进入Eclipse 的 Preference -> Maven ->User Settings 修改如下图:

 

apply即可

每一个Java程序员都知道日志对于任何一个Java应用程序,尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库如java.util.logging、Apache log4j、logback。但如果你还不知道SLF4J(Simple logging facade for Java)的话,那么是时候去在你项目中学习使用SLF4J了。
在这篇文章中,我们将学习为什么使用SLF4J比log4j或者java.util.logging要优秀。自从上次我写Java程序员的10个日志技巧已经有一段时间了,我已经不记得我写的关于日志的一切了。

不管怎样,让我们回到这个话题,SLF4J不同于其他日志类库,与其它有很大的不同。SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),它允许你在后台使用任意一个日志类库。如果是在编写供内外部都可以使用的API或者通用类库,那么你真不会希望使用你类库的客户端必须使用你选择的日志类库。

如果一个项目已经使用了log4j,而你加载了一个类库,比方说 Apache Active MQ——它依赖于于另外一个日志类库logback,那么你就需要把它也加载进去。但如果Apache Active MQ使用了SLF4J,你可以继续使用你的日志类库而无语忍受加载和维护一个新的日志框架的痛苦。

总的来说,SLF4J使你的代码独立于任意一个特定的日志API,这是一个对于开发API的开发者很好的思想。虽然抽象日志类库的思想已经不是新鲜的事物而且Apache commons logging也已经在使用这种思想了,但现在SLF4J正迅速成为Java世界的日志标准。让我们再看看几个使用SLF4J而不是log4j、logback或者java.util.logging的理由。

[su_note]SLF4J对比Log4J,logback和java.util.Logging的优势[/su_note]

正如我之前说的,在你的代码中使用SLF4J写日志语句的主要出发点是使得你的程序独立于任意特定的日志类库,依赖于特定类可能需要不同与你已有的配置,并且导致更多维护的麻烦。但除此之外,还要一个SLF4J API的特性使得我坚持使用SLF4J而抛弃我长期间钟爱的Lof4j的理由,是被称为占位符(place holder),在代码中表示为“{}”的特性。占位符是一个非常类似于在String的format()方法中的%s,因为它会在运行时被某个提供的实际字符串所替换。这不仅降低了你代码中字符串连接次数,而且还节省了新建的String对象。即使你可能没需要那些对象,但这个依旧成立,取决于你的生产环境的日志级别,例如在DEBUG或者INFO级别的字符串连接。因为String对象是不可修改的并且它们建立在一个String池中,它们消耗堆内存( heap memory)而且大多数时间他们是不被需要的,例如当你的应用程序在生产环境以ERROR级别运行时候,一个String使用在DEBUG语句就是不被需要的。通过使用SLF4J,你可以在运行时延迟字符串的建立,这意味着只有需要的String对象才被建立。而如果你已经使用log4j,那么你已经对于在if条件中使用debug语句这种变通方案十分熟悉了,但SLF4J的占位符就比这个好用得多。

这是你在Log4j中使用的方案,但肯定这一点都不有趣并且降低了代码可读性因为增加了不必要的繁琐重复代码(boiler-plate code):

if (logger.isDebugEnabled()) {
logger.debug("Processing trade with id: " + id + " symbol: " + symbol);
}

另一方面,如果你使用SLF4J的话,你可以得到在极简洁的格式的结果,就像以下展示的一样:

if (logger.isDebugEnabled()) {
logger.debug("Processing trade with id: " + id + " symbol: " + symbol);
}

在SLF4J,我们不需要字符串连接而且不会导致暂时不需要的字符串消耗。取而代之的,我们在一个以占位符和以参数传递实际值的模板格式下写日志信息。你可能会在想万一我有很个参数怎么办?嗯,那么你可以选择使用变量参数版本的日志方法或者用以Object数组传递。这是一个相当的方便和高效方法的打日志方法。记住,在生产最终日志信息的字符串之前,这个方法会检查一个特定的日志级别是不是打开了,这不仅降低了内存消耗而且预先降低了CPU去处理字符串连接命令的时间。这里是使用SLF4J日志方法的代码,来自于slf4j-log4j12-1.6.1.jar中的Log4j的适配器类Log4jLoggerAdapter。

public void debug(String format, Object arg1, Object arg2) {
if (logger.isDebugEnabled()) {
FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
logger.log(FQCN, Level.DEBUG, ft.getMessage(), ft.getThrowable());
}
}

同时,我们也很值得知道打日志是对应用程序的性能有着很大影响的,在生产环节上只进行必要的日志记录是我们所建议的。

怎么用SLF4J做Log4J的日志记录

除了以上好处,我想还有一个告诫,就是为了使用SLF4J,你不仅需要包含SLF4J的API jar包,例如 slf4j-api-1.6.1.jar,还需要相关Jar包,这取决于你在后台使用的日志类库。如果你想要使用和Log4J 一起使用SLF4J ,Simple Logging Facade for Java,,你需要包含以下的Jar包在你的classpath中,取决于哪个SLF4J和你在使用的Log4J的版本。例如:

  • slf4j-api-1.6.1.jar – JAR for SLF4J API
  • log4j-1.2.16.jar – JAR for Log4J API
  • slf4j-log4j12-1.6.1.jar – Log4J Adapter for SLF4J

如果你在使用Maven去管理你的项目依赖,你只需要包含SLF4J JAR包,maven会包含它的依赖的相关包。为了和SLF4J一起中使用Log4J,你可以包含以下的依赖在你项目中的pom.xml。

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.6.1</version>
</dependency>
 
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.6.1</version>
</dependency>

还有,如果你对于使用变量参数版本(variable argument version )的日志方法感兴趣的话,那么就导入SLF4J 1.7的版本吧。

总结

总结这次说的,我建议使用SLF4J的而不是直接使用 Log4j, commons logging, logback 或者 java.util.logging 已经足够充分了。

在你的开源或内部类库中使用SLF4J会使得它独立于任何一个特定的日志实现,这意味着不需要管理多个日志配置或者多个日志类库,你的客户端会很感激这点。
SLF4J提供了基于占位符的日志方法,这通过去除检查isDebugEnabled(), isInfoEnabled()等等,提高了代码可读性。
通过使用SLF4J的日志方法,你可以延迟构建日志信息(Srting)的开销,直到你真正需要,这对于内存和CPU都是高效的。
作为附注,更少的暂时的字符串意味着垃圾回收器(Garbage Collector)需要做更好的工作,这意味着你的应用程序有为更好的吞吐量和性能。
这些好处只是冰山一角,你将在开始使用SL4J和阅读其中代码的时候知道更多的好处。我强烈建议,任何一个新的Java程序员,都应该使用SLF4J做日志而不是使用包括Log4J在内的其他日志API。

原文链接: javarevisited 翻译: ImportNew.com Jaskey
译文链接: http://www.importnew.com/7450.html

[su_tabs] [/su_tabs]
分六步。首先,打开三星寄给你的“召回盒”;然后,把手机放入静电袋;然后再放入盒子3;然后再放入盒子2;然后再放入盒子1。最后,走地面运输(不能上飞机)讲道理的话,看得出来三星真是有点慌。

 

http://www.miaopai.com/show/0vKws4ZWaZNFpXqVZjcT1w__.htm

三星日前承认已停产Note 7,国家质检总局也表示三星将全面召回中国区 Note 7。三星即使深陷boom 7泥潭,还要向向苹果公司赔偿1.196亿美元,但是生活还得继续。最近,推特网友@Ricciolo晒出三星新品发布会的邀请函照片,据图片显示Galaxy S8发布会将定于2017年,2月26日下午7点,就在明年世界移动通讯大会(MWC)的前夕,地点巴塞罗那。

世界移动通讯大会(MWC)通常是在每年的3月1号举行,而三星也通常是在大会的前夕开发布会。
一些三星粉丝希望发布会能提前,已解决目前的boom 7难题。但目前看来不会改变计划。
在众多关于Galaxy S8的传言中,双摄像头的传言可信度比较高。并且近日,有外媒给出的消息称,三星已经申请了两个新商标,LightUp Camera和Light+ Camera,而这两者很有可能跟Galaxy S8上的双摄像头有关。这两项技术能帮助你在黑夜中照出更加清晰的照片。

此外,也还有传言Galaxy S8会带有内置投影仪(built-in projector)和虹膜扫描仪(ris scanner),而后者的可信度更高,因为Note7已经使用过。也有屏幕的指纹识别功能和四边都用上了3D曲面的无边框屏幕等传言。
不管以上关于Galaxy S8的传言是真还是假,让我们拭目以待三星是否能依靠Galaxy S8走出现在的困境。