2021-08-09

16 篇热帖

1. 一个程序员朋友, 90 后,刚查出慢性肾衰,二期
他跟我说,三年前就肌酐超标了,近期体检才注意去查,也是挂了专家号,专家建议他去查肾小球滤过率,发现时已经二期了,肌酐 110 。
跟我说攒了一百多万,没命花.....有点绝望了,说 5 ~ 7 年后就得透析,等肾源。

我也搜了下,病因很难确定,他跟我说可能是平时把饮料当水喝,经常熬夜通宵导致的。
2. 前几天的面试被候选者投诉了

痛心。

3. 买房无望,拿 50W 首付搞个公寓如何啊?
4. 异形屏的时代终于要过去了吗?

MIX4 使用了屏下镜头技术,正面是一块完整的屏幕。等到明年应该会有更多的手机使用这一技术吧

6. 迫于减脂,中午带饭靠谱吗

早饭 6 点半烧,装保温饭盒,中午 11 点半吃,饭菜会馊吗?

7. 用了 5 年的 Ubuntu 16.04 桌面系统来谈谈感受

自从从事编程之后一直都是用的 Ubuntu 16.04 ,为什么偏爱 16.04 是因为个人感觉 unity 这个桌面挺好用,可惜后面版本都改了 gnome,无爱,所以一直没更新,而且自己用着也挺好。虽然发行版版本比较老,但是内核版本我已经升级到了 5.10 。

1.硬件配置

  • i7-8700k
  • 240GB 三星 970 SSD
  • 16GB 内存
  • 4T 机械盘
  • LG 4k 显示器

之前有一个 1070ti 独显,前端时间显卡涨价,由于我不咋玩游戏,就给卖了回血了,等矿难再换个。其实吧,Intel 的集显在 Linux 下表现丝毫不输几千块的独显,我这个 CPU 集显是 UHD620,支持 4k 分辨率毫无压力(板得有 DP 口)。

2.高分屏

个人强烈推荐 4k 屏幕,能够极大提高体验,众所周知,苹果笔记本之所以显示细腻,是因为其屏幕分辨率真不低,笔记本大约是 3k,IMac 直接上的 5k 分辨率。

个人感觉 Linux 下的 4k 渲染体验仅次于 Mac OS,贴一张 200%缩放下 v 站的截图给大家看看

唯一比较麻烦的是很多应用的支持并不是太友好,不过大部分都可以搞定,关于缩放倍率这块大家可以参考我之前的文章: Ubuntu 4K 显示器缩放设置

3.常见应用

  • 开发工具,其实 Linux 最不缺开发工具了,该有的都有,比如 vscode 、atom,IDE 的话直接 jetbrains 全家桶就行了。
  • 通讯这块,可以用 deepin 微信、deepinQQ,基本上问题不大,可用性很高,这块得感谢 deepin
  • 下载这块,BT 下载可以用 qbittorrent,百度网盘有官方客户端,但是 16.04 安装不了。迅雷的话,我是用 vbox 整个了 win7 虚拟机,映射磁盘,直接下载到宿主机里面,也不麻烦。
  • 浏览器,太多了,推荐 chrome,也有 Firefox,Edge ( u1s1,这个速度是真快),甚至 360 也有 Linux 版本。。。
  • 文档处理,WPS 最良心,无广告弹窗
  • 输入法,我主要用搜狗,无广告弹窗,但是有些应用下光标不跟随,比如 jetbrains 家的 IDE,我是有点醉,虽然影响不大,但是官方一直不解决。
  • 视频播放器,开源的 smplayer,其实底层是 mpv,还有 vlc 都可以用
  • 直播录屏工具,鼎鼎大名的 obs,开源跨平台的,很多知名主播都在用
  • 音乐,本地播放器倒是挺多,但是国内真正可用的软件,目前只有网易云音乐支持,其它的可以用网页版
  • 截图,flameshot,这个开源的工具很强大,比自带的好使
  • 游戏,俗话说用 Linux 还玩啥游戏,我都是双系统随时切换 Windows,真要玩也有,下载一个 steam 就行,最起码 dota2 跑的很顺畅。

其它比较少见的就不说了,比如一些视频编辑软件 kdenlive 、达芬奇、Blender 等等,专业性太强,俺不会,只是安装过,可惜 adobe 全家桶并不支持 Linux 。

其实平时用的最多的还是浏览器,chrome 对 Linux 的支持是相当好,所以这点保证了体验不会很差,其它软件偶尔用,虽然平时也会遇到一些小问题,但是只要懂点手花点功夫都能解决,可以参考一下本人博客里面积累的一些文章: https://wangbjun.site/tags/Ubuntu

8. 为何前端构建工具这么麻烦
被 webpack 整晕的一天。想问问后端构建工具是不是很方便🌚🌚
9. 2021 年下半年后端开发求推荐合适的笔记本

当前需求:

  • 主要写后端,偶尔会写前端。并且使用 docker 做开发环境。
  • 不打算用这本子玩游戏,只用来存放和运行工作资料。
  • 屏幕控制在 14 寸以上,因为我要笔记本的目的主要就是公司、租房时工作用,因此需要便携,工作时我打算外接显示器,所以笔记本屏幕不要求大。
  • 预算 9k 左右

备注:

  • 不买二手
  • 想可以扩展内存
  • 不太想买苹果
10. 12306 这样的合作是否侵犯了乘客的隐私权

图片如下:

https://imgur.com/ec5bBbn

前几天买票之后收到这样的信息,十分不舒服,短信显示 12306 给这家营销公司提供了非常完整的乘客信息,那么 12306 是否有资格把这些数据共享给第三方营销平台呢?

11. 最近要买 m1 的朋友,再稍微坚持一下

等等党近期会有好结果

规格和网上传的差不大多

12. 34 岁程序员, 今天去面试, 还是有点紧张的

34 岁程序员,6 年没有面试过了,今天去面试, 还是有点紧张的

13. 远程回家还有啥方案吗

目前发现的运营商限制(包括疑似):

1.80/443+常见 vpn 标准端口(如 1701/1723 等)全军覆没

2.openvpn 一定时间后出现链接中断、握手不正常等问题( tcp/udp 模式均有该问题,其他端口上的 tcp/udp 服务如 HTTP3 、MC 服务器等未观察到该现象)

3.openconnect 一段时间后出现类似 openvpn 问题,更换端口后恢复正常,但更短时间后会复发(比如第一次撑了 2 个月,后面可能一两周就会出问题)

4.QNAP 内置 SSL VPN 使用约 2 周后出现类似 2/3 问题

现在怕被请喝茶已经完全不敢用 VPN 回家了,就开了个禁密码的 SSH 用密钥登录,把内网服务端口转发出来用,到目前为止还算稳定。

PC 这样勉强 OK,移动端设备就很难受,iOS 用 termius 转发切后台分分钟挂掉,求解有什么别的移动端友好的方案吗?

14. XX 岁工作多年以后准备考研,希望能够聆听大家的想法
(不知道放在什么节点比较好,在这里不知道大家能不能看得到)

大家好,我工作三年近期准备考研,现在备考之中,感到彷徨不安。希望听听大家的想法,或者大家有没有励志的故事和经历可以分享,非常感谢。

先做自我介绍,我今年 26 周岁,本科非计算机,毕业以后做了近三年 Java 开发,7 月份辞职考研。作为软件开发工程师期间,很骄傲自己一直都是项目的中坚人物(不是大厂),也正是因此萌生了继续深造的想法,因为自己觉得写工程代码,可以尝试一些更具有复杂性的工作(仅个人观点)。

为什么考研?我一直对科研有懵懂的向往,我觉得自己有科研的潜质,自己多年来也是思虑过重,偏向于思考,所以想圆自己一个心愿;也许现在考上研究生毕业后走科研道路很难,即使将来不能做科研,读书期间做一些真学习,毕业以后比起现在所能找的工作可能会有一些提升.

我目前复习状态不佳,今年辞职太晚,时间太紧迫。于是想后招自己才会安心——我知道如果今年失败了,我会想再来一年。我明白,于理性接下来的时间我应该静下心来学习,但是在这里想听一听大家对这种脱产考研的看法。

问题在于年龄,我担心自己这么做太任性、太折腾了,焦虑也由此产生。周围人开始成家立业,我的幸福还不知在何方。
15. 渣男体质,一个迷失的灵魂

已婚已育

约见了一个女网友,喝咖啡、公园散步、聊天,没发生什么

女生见面的目的是想找对象,我隐瞒了我的真实情况

回来后心情不好,同时欺骗了两个女人

一个迷失的灵魂

16. JS 前端倒计时时间不准确如何解决?

我在写一个简单的页面,有 3 个倒计时,在别人的帮助下,成功实现了功能,但是发现 js 代码在不同浏览器下,倒计时都有误差,大约每 60 秒就会慢 1 秒钟左右,有没什么办法修复它?

function setNumber(elem, num) {
    elem.innerText = num.toString().padStart(2, '0');
}

function countdown(elem, init) {
    setNumber(elem, init);
    return setInterval(() => {
        let num = Number(elem.innerText);
        let next = num - 1;
        if (next < 0) next = init;
        setNumber(elem, next);
    }, 1000);
}
function init() {
    var timeList = [
        { 'name': 'explode-id', 'node': 'wifi-explode', 'time': 60 },
        { 'name': 'nokit-id', 'node': 'wifi-nokit', 'time': 30 },
        { 'name': 'ownkit-id', 'node': 'wifi-ownkit', 'time': 35 }
    ];
    timeList.forEach(function (item) {
        clearInterval(parseInt(document.getElementById(item['name']).innerHTML));
        document.getElementById(item['name']).innerHTML = countdown(document.getElementsByClassName(item['node'])[0], item['time']);
    });
}
let wifiClick = document.getElementsByClassName('wifi-click')[0];
init();
wifiClick.addEventListener('click', () => {
    init();
})