iovxw

我也! 用上 fcitx5 了

已然开发两年半了

新 fcitx 很棒, 棒到甚至可以干掉 ibus 的服务然后直接使用 ibus 的 im module

虽然目前没有配置界面也没有文档, 不过我们不需要!

来上个图:

screenshot

Rust 100 黑

不定期更新

所谓爱到深处自然黑, 本文将会收集 Rust 的黑点, 并附上简单的解释和状态跟踪

至于能不能真的收集到 100 个, 希望不能吧

友情链接: https://3442853561.gitbooks.io/wtfrust/content/


  1. enum 的内存占用

    尽管某些特殊类型会优化, 但大部分需要额外保存 tag, 而这个 tag 是 1byte, 极端情况下是个灾难

  2. 尾递归优化并不总是生效

    当进行尾递归调用的作用域内有 Drop 变量存在时

    fn recur() {
        let x = vec![false];
        recur()
    }
    

Rust 隐式转换之 CoerceUnsized

标题看起来像一个系列, 然而并不一定有后续

Rust 中有四种隐式类型转换 (别和我提回字怎么写), 其中三种都是为了简化代码, 就算没有隐式, 也可以显式地用其他方法写出来

唯有 CoerceUnsized 比较特殊, 提供了一种抽象, 没有它就无法写出包含 DST(Dynamically-sized Type) 的智能指针

像这样:

let x: [u8; 3] = [0, 0, 0];
let y: Box<[u8]> = Box::new(x);

PhantomData 黑魔法

&'a mut &'a ()

use std::marker::PhantomData;

pub struct Magic<'a>(PhantomData<&'a mut &'a ()>);

impl<'a> Magic<'a> {
    pub fn as_ref(&'a self) -> &'a Self {
        &self
    }
}

fn main() {
    let pin = Magic(PhantomData);
    {
        pin.as_ref();
    }
    pin;
}

新 tokio 中的变动

架构更新

几个小时前, tokio 0.1.0 正式发布了

如果没有一直关注, 肯定是一脸茫然

tokio-core 呢? reactor::Core 又跑哪去了??

其实这是计划了差不多半年的一个变动

因为之前的 futurestokio 都只是 "能用" 的程度, 在被大量使用后暴露出了很多设计上的问题, 并且还有不少要放弃向后兼容才能修复

所以这次就攒到一起重新设计顺便分了个新的 crate

统计图的曲线插值

不会数学还想写图形界面?

很多程序, 比如各种监视器, 需要实时绘制统计图来将数据直观的展示给用户

而这个实时, 却又不是那么的 "实时", 一般表示一秒左右

不然一个监视器吃的资源比被监视程序还多, 就十分微妙了

通常为了偷懒, 直接画几条线把型值点连起来, 做成折线图, 然后一秒一秒的刷新就可以

但人是要有追求的! 我们要平滑! 要曲线!

所以便有了本文, 记录追求上帝所有物的流水帐

Rust 中的高阶生命期约束

Ruskell

这篇文章并不在讲什么是生命期, 请先确保有正确的生命期概念

虽然标题是说高阶生命期约束, 不过 RFC 本身是叫高阶 Trait 约束 (Higher Ranked Trait Bounds), 但由于他们目前只实现了生命期的部分, 所以……

言归正传, 在 serde 里, 会发现 DeserializeOwned 的定义是这样的

pub trait DeserializeOwned: for<'de> Deserialize<'de> { }

Rust 的 async/await

仍需努力

今天, Rust 的 Generator 支持终于被合并了!

这代表那拖了很久又很久的 Coroutine 也终于可以在 Nightly(2017-08-29) 里使用了

可喜可贺, 可喜可贺

那以后就可以愉快的在 Rust 里写异步代码啦?

想得美

坑在哪里我下面慢慢说

在 Merlin 上配置 rTorrrent 需要注意的

笔记备用

之前买的 RT-AC56U 一直没放什么东西,空转到现在

今天终于有了需求,拿它来挂 BT

这篇文章作为笔记,记一下遇到的坑,以后备用

Soul Knight Android 免 root 存档修改

勿滥用

挺好玩的 Roguelike 游戏(最近还加了联机模式,然而联机起来各种崩,戒指怕是有生之年了)

可惜没有云存档,在经历了某次事件后,我的存档和我说了再见

重新打?我没那毅力。不过既然是本地的,改起来也容易

流程如下: