首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    对博客中评论的合理建模 --MongoDB

    最近,闲着没事,又把上个月写得代码拿出来了,随便完善一下没完成的评论的路由接口。 评论应该是在整个博客数据存储中,模型最为复杂的一部分了。首先要考虑的是和文章进行关联。...这个可以用 mongoDB 的 ref 进行关联,随后可以使用 populate 计算出被关联的字段。 最后关系复杂的是父子层级的评论,又或者是多级评论。...这个时候就要想该怎么做才能合理的管理这些层级关系,在删除父评论的同时又能把所有子评论一起删除。查询的时候如何去由根到叶顺序输出层级关系。...post列中关联引用表(post表)的 _id(文章),在 hasChild 中记录是否存在回复。...如 post 中的一篇 pid 为 11 的文章下有一条评论,那么 key 中命名 11#001,这是第一条评论,如果该评论下存在一条回复,则回复的 key 为 11#001#001,下层亦是如此。

    55220

    静态博客评论系统的选择

    前言 静态博客跟传统博客不一样,没有自带评论系统。...以 PHP + Mysql 为代表的 Wordpress 这类动态博客,天然带有数据库存储评论,而且博客前后端本地进行数据交互,提交评论、渲染评论都很快。...而静态博客只产生静态网页文件,评论系统均需要依赖第三方评论系统。...但是慢慢发现评论越来越少,有需要咨询问题的朋友宁愿通过邮件或者 QQ 这些途径联系,也不会在博客上留言讨论。这让我开始反思评论系统的选择了。...作者每天晚上和周末都提交了很多 Commit,版本也在快速迭代中。 在使用体验上,这三者的差别都不大,主要体现在前端 UI 不同和加载速度上的轻微差别。安装方式也是一模一样。后端部署也都有保姆教程。

    2K20

    关于博客评论插件的讨论

    他的这篇文章总结的很全,但是对于每一个评论还欠缺细致的描述,这篇文章下我会做些补充, # 之前用的 livere 关于博客的评论插件,在最开始的搭建博客之前就有过考虑和纠结,国内的评论界面浮夸流程繁琐...后来使用了 livere,韩国的产品,一开始被他简洁的界面方便的后台吸引,而且还支持各种移动 APP 登陆,微信、QQ 之类的。不过后来使用过程中缺点显现出来了。...# disqus 他唯一一个缺点就是被墙了,他要求每一个看你博客的读者都要科学上网才可以,对于我的博客来说,不仅仅是写一下技术文档,有时候会更新下照片、游记之类的,所以不想对读者有太高的要求。...对于我一个主打技术的博客来说确实不太适合,如果大家想写一写娱乐微博说不定适合你。...# Hypercomments 这个也是我最后选择的评论插件,同样也提供付费和免费的服务 免费版完全满足我的博客使用,没有发现以上一些第三方的缺点,同时界面也不错,唯一不足的就是新评论的邮件提醒不知道怎么调出来

    74230

    分享几个WordPress本地缓存gravatar评论头像的方案

    由于 GFW 的关系,使用 gravatar 的博客评论头像经常会出现“图裂特效”,这肯定是很多站长小伙伴都遇到过的困扰。网络上也很多教程,通过更换 avatar 的来源,来解决图裂的问题。...下载地址 三、Nginx 方案 我在测试这个插件的过程中,看了下生效后的头像路径,突然灵感一现:这缓存完全可以通过 Nginx 的 proxy 反向代理来缓存到本地啊!...functions.php 中插入如下代码: //更改gavatar来源 function mytheme_get_avatar($avatar) {     $avatar = str_replace...    return $avatar; } add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 ); 即可将 WordPress 头像地址更改成自己的域名...比如右键查看张戈博客评论头像,可以发现已经变成 res.zhangge.net 了。

    1.3K50

    博客无法显示 Gravatar 头像的解决方法

    Typecho 以及 WordPress 的评论默认使用的是 Gravatar 头像,但因为最近 Gravatar 官方网站极其不稳定,严重拖慢了网站访问速度,而且加载半天也还是个裂图,太影响体验...国内镜像源 sdn.geekzu.org/avatar (推荐首选,国内加速) gravatar.helingqi.com/wavatar (推荐,默认头像自带随机头像) gravatar.fanfuns.com...) WordPress 解决方法 在自己博客主题的 function.php 中 php 结束标签之前加上如下代码即可:(不同的源,后缀不一样,请注意区分) /*替换 Gravatar 镜像源为国内 CDN...; return $avatar; } add_filter('get_avatar', 'getCdnAvatar'); Typecho 解决方法 Typecho 只需要在网站根目录中的...文件内添加下面的代码: define('__TYPECHO_GRAVATAR_PREFIX__', 'https://sdn.geekzu.org/avatar/'); 有些主题提供了修改 Gravatar 头像的位置

    64110

    为你的VuePress博客添加GitTalk评论

    背景 突发奇想,想让自己的 《前端进阶小书》拥有评论功能,于是开始了探索之路 实现之路 1....创建评论组件 Vuepress 默认 .vuepress / components 文件夹下的组件会全局注册, 因此我们创建一个 comment 组件 gittalk.css 请点击 这里 <template...', clientSecret: '你的clientSecret', repo: '你的仓库名称', owner: '你的用户名', //...使用评论组件 理论上,我们在每个 markdown 文件里直接加入这个组件即可,但是每次都添加有点麻烦,还是让 node 来帮我们吧 根目录创建 build 文件夹, 创建三个文件 addComponents.js...scripts, 先为每个 md 文件添加组件,然后打包,最后再一一删除 markdown 中的 comment 组件 "build": "node .

    1.3K10

    为你的VuePress博客添加GitTalk评论

    背景 突发奇想,想让自己的 《前端进阶小书》拥有评论功能,于是开始了探索之路 实现之路 1....创建评论组件 Vuepress 默认 .vuepress / components 文件夹下的组件会全局注册, 因此我们创建一个 comment 组件 gittalk.css 请点击 这里 <template...', clientSecret: '你的clientSecret', repo: '你的仓库名称', owner: '你的用户名', //...使用评论组件 理论上,我们在每个 markdown 文件里直接加入这个组件即可,但是每次都添加有点麻烦,还是让 node 来帮我们吧 根目录创建 build 文件夹, 创建三个文件 addComponents.js...scripts, 先为每个 md 文件添加组件,然后打包,最后再一一删除 markdown 中的 comment 组件 "build": "node .

    52410

    清理缓存中的头像

    晚上和老同事谈及QQ空间头像修改后,页面上其它地方的图像也立马修改过来了。...这种情况是,在设置完成头像后,地址http://abc.com/a.gif再次请求的文件就是最新的了(也就是CDN在设置成功头像后,URL地址被清理过了)。...要解决这个问题,目前想到的办法是本地存储一个cookie了,里面记录一个版本号,所有主人的头像都使用如下规则进行请求:http://abc.com/a.gif?...被清空了,版本号还不知道从多少算起呢~~~~ 所以最好的方式还是想办法去让后台在更新完图像后,马上清理掉CDN中对图像URL的缓存(地址可能不止一个,如果图像有大、中、小三种规格) 讲了半天,还是看看代码...(jQuery中实现些方法,你只能改源代码了----我改过JQ的源码) 1: 2: function send(opts){

    2.6K20

    java中匿名对象和匿名类的简单理解

    经过查阅资料我们总结一下匿名类和匿名对象,之后可能你看作者的代码可能会理解。 一、匿名对象  匿名对象:通俗的来说就是——没有名字的对象!...匿名对象的使用:              (1).匿名对象也是一个对象,具有对象的所有功能              (2).每一次使用匿名对象时,都是一个新的对象, 每次创建匿名对象都是不同的对象,...System.out.println("The result is: "+new TestAnonymousClass().name); } }             在上面的代码中我们加载了匿名对象并给这个类的...也就是说,在类中的全局变量是随着类的加载而加载,这样,在使用new TestAnonymousClass().name时,由于是匿名的,类就终结了,因此上一个初始化name属性的“tuo”就消失了。...如果有需要,也可以  重写父类中的普通方法      如果我们删除上面代码main方法中对   public abstract double getPrice()   的重写,就会报错 我们贴出结果:

    98651

    Python中的匿名函数

    Python中的匿名函数 写python的时候,大多数场景下,我都是if else选手,因为最核心的逻辑几乎都是通过if else语句来实现的。...关于匿名函数这块儿,其实可以用常见的循环等方法来实现,但是如果你想成为一个python的高手,匿名函数还是必须要了解的。因为匿名函数,能够让你的代码足够简洁, 01 什么是匿名函数?...在python中,匿名函数,顾名思义,就是没有名字的函数,它主要用在那些只使用一次的场景中。...如果我们的程序中只需要调用一次某个简单逻辑,把它写成函数还需要先定义、取函数名字等一些列操作,这种场景下使用匿名函数往往能够让你的程序更加简单。 匿名函数还有名称,叫做lambda。...map函数 map(function, list) 注意,这里的function可以是匿名函数,也可以是普通的函数。

    1K20

    搭建自己的技术博客系列(三)让你的博客拥有评论功能!

    给大家介绍一个博客评论神器,Valine。 本来hexo博客用的是gitment,我也非常喜欢,看着逼格就超高呀。无奈我用着bug略多,而且毕竟有github账户的小伙伴似乎并不多。...于是我就忍痛准备换评论系统。然后在最近刚刚加入的hexo博客群里,看见了一个神器。也就是本篇主人公——Valine.js。 具体配置就见如下的文章吧。它的定义—— 一款极简的无后端评论系统。...Valine -- 一款极简的评论系统 Valine官网 这个评论系统是基于LeanCloud的,大家应该对这个很熟悉,对,Hexo的博客阅读量统计也是它。官网网址如下,需要注册一个账户。...//评论框默认显示 avatar: hide //评论者的头像,我这里设置的不显示 guest_info: nick # custom comment header pageSize: 10...然后在valine.ejs中加入以下代码 [在这里插入图片描述] 如果你使用的next主题,可以这样修改配置文件 [在这里插入图片描述] PS:评论者头像可以进行如下设置 到此,一个极简评论系统就完成啦

    80900

    js中的匿名函数_js匿名函数怎么定义

    大家好,又见面了,我是你们的朋友全栈君。 定义:匿名函数顾名思义指的是没有名字的函数,在实际开发中使用的频率非常高!也是学好JS的重点。 匿名函数:没有实际名字的函数。...首先我们声明一个普通函数: //声明一个普通函数,函数的名字叫fn function fn(){ console.log(“张培跃”); } 然后将函数的名字去掉即是匿名函数: //匿名函数...解决方法只需要给匿名函数包裹一个括号即可: //匿名函数在其它应用场景括号可以省略 (function (){ //由于没有执行该匿名函数,所以不会执行匿名函数体内的语句。...JavaScript中是没有块级作用域的,例如: if(1==1){//条件成立,执行if代码块语句。...执行完匿名函数,存储在内存中相对应的变量会被销毁,从而节省内存。再者,在大型多人开发的项目中,使用块级作用域,会大大降低命名冲突的问题,从而避免产生灾难性的后果。

    10.3K10
    领券