0%

当前我使用的Next主题版本为 v7.6.0,根据文档完成了leancloud的相关配置,但是文章阅读次数一直是0。猜测是leancloud接口变动导致不可用,排查一番解决了问题。

修改themes\next\layout_third-party\statistics\lean-analytics.swig :

1. 修改第12行

修改前:

1
Counter('get', `/classes/Counter?where=${JSON.stringify({ url })}`)

修改后:

1
Counter('get', `/classes/Counter?where=${encodeURIComponent(JSON.stringify({ url }))}&limit=1`)

2. 修改第57行

修改前

1
Counter('get', `/classes/Counter?where=${JSON.stringify({ url: { '$in': entries } })}`)

修改后

1
Counter('get', `?where=${encodeURIComponent(JSON.stringify({ url: { '$in': entries } }))}`)

修改完成后执行下 hexo d -g发布,成功显示阅读次数。

  1. 修改postgresql.conf
    1
    listen_addresses = '*'
  2. 修改pg_hba.conf
    1
    2
    # TYPE  DATABASE  USER  CIDR-ADDRESS  METHOD
    host all all 0.0.0.0/0 md5

黑白图即二值图像(Binary Image),整个图像只有(0,0,0)和(255,255,255)两种颜色。实现算法十分简单:计算rgb的平均值avg,如果avg>=100,则r=g=b=255,否则r=g=b=0。

1
2
3
4
for (let i = 0; i < data.length; i += 4) {
let avg = (data[i] + data[i + 1] + data[i + 2]) / 3;
data[i] = data[i + 1] = data[i + 2] = avg >= 128 ? 255 : 0;
}

黑白滤镜

去年12月份,我完成了进入目前公司的第一个Android项目。但项目最终并没有正式上线,公司也暂时没有新的移动端需求,出于个人意愿和公司需要我开始转到Java后端开发。到目前刚好一年的后端开发经验,我想总结下我的主观感受。

阅读全文 »

源码

  • String
    1
    2
    3
    4
    5
    public final class String implements java.io.Serializable, Comparable<String>,CharSequence {
    /** The value is used for character storage. */
    private final char value[];
    ...
    }
  • StringBulder(继承AbstractStringBuilder)
    1
    2
    3
    4
    5
    6
    7
    abstract class AbstractStringBuilder implements Appendable, CharSequence {
    /**
    * The value is used for character storage.
    */
    char[] value;
    ...
    }

结论

String中存储字符的是一个final修饰的char数组,所以每次拼接的时候都是重新生成一个String对象,都会进行数组的拷贝。而StringBulder中存储字符的char数组是可变的,当新的字符串长度大于当前容量的时候会进行数组拷贝。默认的capacity为16,每次扩容长度为当前value的长度的2倍+2:

1
2
3
4
5
6
7
8
9
10
private int newCapacity(int minCapacity) {
// overflow-conscious code
int newCapacity = (value.length << 1) + 2;
if (newCapacity - minCapacity < 0) {
newCapacity = minCapacity;
}
return (newCapacity <= 0 || MAX_ARRAY_SIZE - newCapacity < 0)
? hugeCapacity(minCapacity)
: newCapacity;
}

已经差不多两年没有写博客了,Github上的博客仓库也早被我删除了,wangyi.blog这个域名去年到期了也没有续费。最近发现这个域名还可以注册就又买了回来,打算重新开始搭建个博客吧。还是使用免费的Hexo + Github Pages的方式。

阅读全文 »