痛定思痛,终于决定——逐渐备份、迁移CSDN博客到“博客园”。

缘起

前几年比较喜欢逛csdn的bbs,虽然之前在cnblogs也注册了账号,但一直用CSDN博客比较多。本来一直用CSDN,加上自己写博客的频率并不高(平均一个月一篇左右),所以也没觉得csdn有什么不好。
(插播广告:我的CSDN博客

遭遇

直到近一年,亲身经历了:

  • 2次csdn.com 404;
  • 1次自己博客莫名其妙“被封”(本人仅有的几篇转载都清楚地注明了出处,自己写的也都是纯技术性的内容);
  • 1次markdown编辑器bug导致之前博文被覆盖(还好当时机器上有备份);
  • 几篇文章被恶意转载,这倒不算csdn的问题,但这几篇文章的被转载让我发现了csdn markdwon编辑器的另一个bug——修改发布后的博文回更新发布时间。我有修改文中错别字的习惯,文章发布后的一两天内常会修改,于是我发现了这个bug,
    直到最近,CSDN官方发起了一个“博主版权集中处理”活动(让博主举报恶意转载,由CSDN出面解决),并给博文的底部自动加上了“版权声明:本文为博主原创文章,未经博主允许不得转载。”然而,我发现这个时间节点,正是中央宣传“版权保护”时间(参见《加强版权保护 发展文化产业》);
    于是,意识到了博客备份的重要性(虽然自己写博频率很低)。

其中,csdn markdown编辑器的“修改发布后的博文回更新发布时间”bug 我曾两次发邮件向官方报告(webmaster@csdn.net),官方的回复很简单,对此我并没有特别期待。但作为一个程序猿,我知道这种“必现”的bug解决起来并不困难。

非要我发表一下看法的话:

(毕竟是受过高等教育的。。。)

未来

经历CSDN的几次乌龙之后,我觉得“不要把鸡蛋放在一个篮子里”对于写博客同样适用;所以,我决定近期把CSDN的博文逐渐备份到CNBLOGS上来。

未来打算两者一起使用,互相作为备份,以免遗失。

重视blog备份——兼记我与CSDN的爱恨情仇的更多相关文章

  1. Android开发学习之路-记一次CSDN公开课

    今天的CSDN公开课Android事件处理重难点快速掌握中老师讲到一个概念我觉得不正确. 原话是这样的:点击事件可以通过事件监听和回调两种方法实现. 我一听到之后我的表情是这样的: 这跟我学的看的都不 ...

  2. pgsql数据库备份还原记

    今天又搞了一个pgsql 的备份还原,差一点没有成功,以前总是想当然的用,没认真想背后的东西,也没对过程中的疑问做记录,所以后面也没什么印象,常见常新,这次既然又遇到就总结一下. 之前操作pgsql数 ...

  3. 《Xenogears》(异度装甲)隐含的原型与密码

    <Xenogears>(异度装甲)隐含的原型与密码 X 彩虹按:一种高次元的“生命体”,因“事故”被抓来当成“超能源”,其实那不只是“无限的能源”而已,“它”是有意志的!在我们眼里看来,这 ...

  4. build.gradle代码

    Android Studio 这么强大的工具,就算我们不懂 gradle, groovy, 也照样能借助AS对 Android 项目进行编译.调试.运行.打包等操作.build.gradle 这个文件 ...

  5. 麒麟子Cocos Creator实用技巧

    大家好,我是麒麟子, 开源棋牌<幼麟棋牌-四川麻将>(泄漏版叫 <达达麻将>)作者,成都幼麟科技创始人. 自09年进入游戏行业以来,不知不觉已经度过了十个春秋. 曾经我也血气方 ...

  6. 注解:大话AOP与Android的爱恨情仇

    转载:大话AOP与Android的爱恨情仇 1. AOP与OOP的区别 平时我接触多的就是OOP(Object Oriented Programming面向对象).AOP(Aspect Oriente ...

  7. android build.gradle(groovy)

    一.build.Gradle 这个 build.Gradle 文件来自 drakeet 大神的 Meizi 项目我直接在代码上加注释,参照着注释看代码就行,是不是发现有很多代码平时都没看见过. //M ...

  8. Yarn vs npm:你需要知道的一切(转)

    转载:https://zhuanlan.zhihu.com/p/23493436 原文链接:Yarn vs npm: Everything You Need to Know Facebook.Goog ...

  9. 对json的爱恨情仇

    本文回想了对json的爱恨情仇. C++有风险,使用需慎重. 本文相关代码在:http://download.csdn.net/detail/baihacker/7862785 当中的測试数据不在里面 ...

随机推荐

  1. python学习之路 第二天

    1.import 导入模块 #!/usr/bin/python # -*- coding:utf-8 -*- import sys print(sys.argv) 2.字符串常用方法: 移除空白: s ...

  2. mysql 基本操作

    创建数据库 create database studentdb charset utf8; #创建数据库 create database studentdb charset utf8; #查看数据库的 ...

  3. 函数返回多个值(c/c++)

    当我们在处理一个数组的时候常常会碰到这样的问题:输入一个数组,和数组的一个元素,返回该元素所在行数和列数.这样就需要返回多组两个值,且组数不定.上述类型的函数在c语言程序里面存在两个问题.第一,函数只 ...

  4. Leetcode 45. Jump Game II

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  5. 【BZOJ-2938】病毒 Trie图 + 拓扑排序

    2938: [Poi2000]病毒 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 609  Solved: 318[Submit][Status][Di ...

  6. Netty_UDP丢包解决

    程序背景 程序是Java编写,基于Netty框架写的客户端及服务端. 现象 客户端大数据量持续发UDP数据,作为UDP服务器出现了部分数据频繁丢失触发程序自身重传逻辑. 通过GC日志对比发现丢包的时间 ...

  7. HTTP Request Method共计15种

    更多信息可参考http://tools.jb51.net/table/http_request_method

  8. Redis 3.0.5 集群的命令、使用、维护

    cluster命令 CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息. //节点 CLUSTER MEET < ...

  9. 10 Symbol

    Symbol 书中讲了2部分. Symbol() Symbol 属性值. 完全两种画风的东西. 1. Symbol 首先他是一种全新的值. 不属于以前的任何一种 ES6引入了一种新的原始数据类型Sym ...

  10. dom 节点篇---模块

    改写成如下代码: var creatTag=(function(){ //var count=5; var oUl=document.createElement('ul'); var oDiv=doc ...