• Re: 有没有办法让某个非特权可以重启某 systemd service?

    https://wiki.archlinux.org/index.php/Polkit#Allow_management_of_individual_systemd_units_by_regular_users

    【 在 hgoldfish 的大作中提到: 】

    : 比如我弄了一个 hugeload.service,我让它跑在 panda(uid=1000) 这个非特权用户下。

    : 但正常情况下只有 root 用户才可以 systemctl restart hugeload

    : 能否让某特权用户,比如 panda 用户(uid=1000) 也可以操纵这个 service?

    今天 01:01
  • Re: 深度系统存在的意义是神马

    不算换皮。deepin有一个自己的完整桌面环境,可以认为是和gnome, kde平行的东西。

    不能说gnome是kde换皮,或者既然有kde那gnome存在的意义是神马。

    【 在 DeltaIII 的大作中提到: 】

    : 听你们推荐安装了深度deepin

    : 进入系统一股浓浓的windows布局+osx主题扑面而来

    : 然后习惯性地打开终端:sudo apt-get update

    : ...................

    昨天 21:58
  • Re: 被 std::function 坑一回

    什么场景用到shared<unique>? 我们共同拥有一个对象,但我们任何一个人都可以把它偷走...

    【 在 milksea 的大作中提到: 】

    : 我看到stackoverflow里面还有用shared_ptr包一层unique_ptr的处理方法,我觉得很魔道…他这个思路无非解出来就这样了吧

    昨天 21:37
  • Re: 被 std::function 坑一回

    可能当初functor的成员变量都是些常量(e.g. bind2nd(less<double>(), 1.0),没人想到functor还会拥有别的对象吧。

    而且没有move的年代,容器怎么保存用户传入的functor?显然是copy。从stl开始functor习惯上就是copyable。

    【 在 milksea 的大作中提到: 】

    : 我没研究过,为什么folly可以不要求可拷贝而std要求,不知道有什么考虑还是std开始没想到。如果是现有版本std库缺陷,以后增加提案放宽std::function的构造需求应该是最优解。

    昨天 21:30
  • Re: 被 std::function 坑一回

    当然可以,不过你怎么实现copy ctor?

    【 在 DoorWay 的大作中提到: 】

    : 我把入参的unique_ptr脱了壳,成员变量存裸指针,不行吗?

    : 我明天试试。

    昨天 21:07
  • Re: 被 std::function 坑一回

    你这样的functor一样是不可拷贝,和楼主最早写的并无差别。

    有的functor就是不可拷贝,std::function不该要求可拷贝。

    【 在 DoorWay 的大作中提到: 】

    : 你这么一说,是不是写个functor就行了,结构体的构造函数接unique_ptr。

    : 然后把unique _ptr脱了,自己在析构里释放。

    昨天 19:57
  • Re: NAS是永久待机还是随用随开

    本质区别是striping造成了要么不坏,要么损失全部数据。而不搞striping则不太可能损失全部数据。

    Erasure code是好的,但非在线存储搞striping是不好的。raid5/6把两者捆绑了。

    【 在 hyoga 的大作中提到: 】

    : 你可以换个角度仔细想一想:

    : RAID0:这么做的数据本来就无所谓,就不讨论了。

    : RAID10,RAID5,RAID6,和RAID1有什么本质区别?

    : ...................

    昨天 14:22
  • Re: 被 std::function 坑一回

    不好。最后没调用lambda,就leak。拷贝lambda并且都调用了,就double free。

    auto up = std::make_unique<std::string>("hello");

    if (0) {

    auto f = [p=up.release()]{std::unique_ptr<std::string> ap(p);};

    // leak

    } else {

    auto f = [p=up.release()]{std::unique_ptr<std::string> ap(p);};

    auto g = f;

    f();

    g(); // double free

    }

    【 在 ble 的大作中提到: 】

    : 对unique_ptr不太清楚的时候,我一般会release出来而不是在让它在lambda中间传递

    : auto up = std::make_unique<Foo>();

    : call([p=up.release()](){std::unique_ptr<Foo> ap(p); ap->bar();})

    昨天 12:11
  • Re: 有没有比C++和golang更高级的静态编译型语言?

    一个极端的例子是Cython,把Python代码编译成C代码。但是(如果不使用C类型)这个C代码内容就是不停地调Python runtime,快不了多少。

    生成native code很容易。但是把Python int变成C int,C# class变成C struct,挺难。至少前者jit比aot容易做到。

    【 在 keygen 的大作中提到: 】

    : 编译到 native 也只是启动性能改善而已

    : 长时间运行 jit 反而比 aot 更胜一筹,一边运行一边收集信息继续优化

    : 高级语言要考虑类型安全,边界安全之类的玩意,肯定要付出性能代价

    : ...................

    昨天 00:31
  • Re: 被 std::function 坑一回

    嗯,缺省copyable的环境对move太不友好了。

    更合理的缺省值,缺省movable, non-copyable,就成了rust。

    【 在 milksea 的大作中提到: 】

    : 用到回调函数,为了支持虚函数,不用模板类型参数表示回调函数,而用了 std::function 包装。结果用 lambda 表达式传参的时候,有 move 捕获变量就编译失败了。代码类似这样:

    : void api(std::function<void()>&& callback)

    : {

    : ...................

    前天 21:33
  • Re: 现在哪个linux发行版是比较接近傻瓜式办公版/个人版的?

    都可以。

    重点是,你配置好了一台机器,剩下就是把它复制到别的机器,而不必再去考虑什么发行版全新安装更容易。

    这些年我换了很多机器,但没有再碰过安装程序。

    【 在 alanju 的大作中提到: 】

    : 全系统打个包

    : --- 不太理解啊,, 只会 ghost, dd, rsync.

    前天 21:28
  • Re: 维护开源项目真的需要情怀啊

    之前homebrew作者面试google那事儿挺清楚了:商业公司不会缺省为知名开源软件作者提供一份工作。

    【 在 eGust 的大作中提到: 】

    : core-js 作者也是长期找工作……

    11月28日
  • Re: Edge有个非常好的功能,可惜Chrome没有

    chrome工具栏非要自己搞个2d库来画,各平台不统一,bug又多。firefox用html画的工具栏并不比它慢,还可以随便css定制。

    【 在 archblue 的大作中提到: 】

    : 应该吐槽chrome限制太多了

    : 1. 工具栏左半不能自定义,所有图标都挤到右侧那点区域,对比firefox全局随便拖,还可

    : 以拖到收藏栏

    : ...................

    11月28日
  • Re: 现在哪个linux发行版是比较接近傻瓜式办公版/个人版的?

    你配好了一台,全系统打个包不就得了。

    如果需要安装程序帮你搞定分区/bootloader,那就安装完之后再解压。

    【 在 alanju 的大作中提到: 】

    : 开箱既得

    : 输入法

    : 各种网络工具

    : ...................

    11月27日
  • Re: 家用nas硬盘必须用企业级的?

    所以是不是录像机必须接监控盘,如果用普通盘,则有可能在io错误时丢数据?

    【 在 Dazzy 的大作中提到: 】

    : 它们固件对持续流读取写入有优化,包括支持ata streaming指令。其它盘不支持也没啥损失。基本上就是主机用ata streaming:我要你指定时间内完成xx任务,数据正确率次要。监控盘:好嘞。

    : 普通电脑主机不会下这种指令,数据正确性必须保障,没疑问。监控盘,也支持这种普通,保证数据正确性的常用ata标准指令。

    : 也就是说,它丢不丢数据,取决于它接了什么样的主机。

    11月27日
  • Re: 家用nas硬盘必须用企业级的?

    区别是什么,监控盘固件支持ata streaming指令而其它盘不支持,或者支持的语义不一样?

    【 在 Dazzy 的大作中提到: 】

    : 对,但不全对。监控盘允许数据记录少许错误前提是主机,一般就是监控系统的dvr,用ata streaming指令和它通讯。一般普通电脑主机只会用ata标准指令和它沟通,这种情况下,跟普通硬盘一样,数据读写必须全部准确,否则就返回硬件错误。

    11月27日
  • Re: 家用nas硬盘必须用企业级的?

    nas盘和监控盘区别是?

    【 在 newzzdx 的大作中提到: 】

    : 有NAS专用盘,或者用企业级的也行,但别用桌面级和监控级的

    11月27日
  • Re: 作为一个业余写代码的人

    有没有测试代码?

    【 在 poocp 的大作中提到: 】

    : 状态表格里是常数,数据非常少,如果这里是高频调用的逻辑,直接就维持在CPU一级缓存里了,不需要反复访问内存。

    11月27日
  • Re: 这几天了解了一下输入法

    输入法你就fcitx好了。或者可以试试fcitx5

    console除了fcitx-fbterm也没了。

    【 在 cwall 的大作中提到: 】

    : 其实最初是想给console找一个输入法,类似于fterm这种,但是那个console是kmscon。

    : 发现Linux下输入法真是无语

    : 总的来说,输入法包括两个部分:输入法,以及输入法引擎,也就是IM和IME。

    : ...................

    11月27日
  • Re: 作为一个业余写代码的人

    直觉觉得你这个理论不对。

    表格也许是少了分支预测失败,因为后面的指令都数据依赖从表格取数据的指令,卡住了。

    你能不能写段代码演示一下表格快于if的情形?

    【 在 poocp 的大作中提到: 】

    : 就计算机上应用而言,以表格方式来实现还是有一定优势的,能避免因使用IF语句,造成的CPU分支预测执行,预测失败造成的开销。

    11月27日