2022-02-11

20 篇热帖

1. 公众号 码农翻身 也开始贩卖焦虑了。赚钱又很多种方式,这种最垃圾。

码农翻身 是平时看的比较多的公众号。还买过他的书。

刚刚看到一篇文章,《再搞下去,程序员挣的钱迟早被吃干抹净! 》

高收入不行,医保不行,推销保险。

为了让大家也能尽快做好财务保障和资产配置体系,和平台沟通后,再次争取到了 100 个名额,原价 699 元现在免费给到大家体验一次。

那么问题来了,保险理赔出现问题,公众号 码农翻身 负责任吗?

说了一大堆,还是买保险。无语。

赚钱有很多种方式。做人呢,能体面的时候还是要体面一点。

2. 一个人(公司摸鱼+业余时间)开发了五年的开源项目:可用于自建 Git 服务,自带看板和 CI/CD,可替代 GitHub/GitLab(功能级的替代,而非小而美)

前两天发了一个版本更新的贴,没啥关注。腆着脸再发一个,详细介绍下这个项目的背景、特点、和相关技术栈。希望众 V 友轻喷。🙏

项目地址: https://github.com/theonedev/onedev

项目背景

在一家公司做 DevOps 相关工作,若干年前为了解决我们自己的痛点,开发了这个产品内部使用,饱受好评,我也就继续维护这个产品。行业的关系,公司难有大发展,但也倒不了,所以氛围宽松,基本上只要自己负责的那摊事不出问题,没人管你干什么。感谢公司对我摸鱼的宽容,做这个产品很开心,因为没有产品经理,没有业绩压力,不用处理无效需求,感觉每行代码都在让产品变得更好。也感谢来自客户的持续反馈,让我不至于空中楼阁鬼画符。

相比 GitHub/GitLab 有什么特点?

开箱即用的符号跳转

我们内部的一个需求是代码 Review 或者在线看代码时,要能够方便跳转到符号定义:

symbol.gif

这个功能使用 ANTLR 分析主流语言的语法,并提取符号定义进行增量存储,速度快,占用空间小。目前支持 Java, JavaScript, C, C++, CSharp, Go, PHP, Python, CSS, SCSS, LESS and R 。GitHub 前两年加入了这个功能,但是好像只是针对主分支; GitLab 需要在 CI 里做 LSIF 相关配置,并会占用大量空间。

静态分析结果直接标注在源码上,作为 Review 的辅助信息

annotation.png

当然 GitHub 有很多第三方工具可以做这个事情,但发现的问题都是显示在各个产品自己的网站上,与 Code Review 流程割裂开来了(比如说我们可以直接对某个代码风格问题加 Review 的相关说明等等)。另外这些第三方工具一般都需要额外收费。

Issue 字段和状态可定制,以及和 CI/CD 的深度集成

这里 GitHub/GitLab 的简单的 Open/Close 的状态完全不能满足我们的需求,特别是牵涉到客户创建的 Issue 时,比如说如果开发人员在 Commit 相关代码时 Close 相关 Issue ,客户得到通知会认为这个问题已经解决,会问应该更新到哪个发行版本;而如果在产品发布时 Close 相关 Issue ,测试人员在拿到测试版时也会困扰,因为相关 Issue 还是 Open 状态,不知道应该测试哪些 Issue 。为解决这个问题,我们定制了四个 Issue 状态:Open ,Committed ,Test Ready 和 Released 。当开发人员 Commit 代码时,相关 Issue 自动迁移到 Committed 状态;当包含这些 Commit 的代码被构建并部署到测试环境中时,相关 Issue 自动迁移到 Test Ready 状态,并通知 QA ,QA 可以在 Issue 的详情页面里了解部署到了哪个测试环境;当测试通过代码发布时,相关 Issue 自动迁移到 Released 状态,并通知客户,客户在 Issue 的详情页里可以得知关联的发行版。

custom-field.png


fixing-build.png

强大易用的 Commit/Issue/Build/Pull Request 查询语言

这个也是基于 ANTLR 做的,对语法规则进行预测来实现自动提示。这样无需学习语法就可以直接进行复杂查询,比如下面是我们客户经常做的事情:在升级前查询当前版本和最新版本之前都有哪些改动:

changes.gif

或者查询所有分配给我的高优先级的 Issue ,在指定的两个发行版之间改动了某个文件的所有 Commit 等等。查询可以保存并订阅,这样符合相关条件的事件发生时可以及时得到通知。

全功能的 CI/CD ,无需了解 Yaml 语法,上手非常简单

CI/CD 是花精力最多的部分了,虽然 CI/CD 的定义也是以 Yaml 文件的方式存储在仓库中,但提供了 UI 来生成该文件,用户无需了解任何相关语法即可进行配置

job-command.gif

而且在 Commit 页面可以直接运行 CI/CD 任务,使得 GitOps 来的更直观。灵活可定制的 CI/CD 选项页面让非开发人员也可以很容易的进行部署。

build-option.gif

部署一个用于构建的集群及其方便,只需一个 helm 命令就可以部署到 Kubernetes 中,将每个构建任务作为 Pod 运行,同时支持 Windows 和 Linux ;在没有 Kubernetes 的环境中,一行 docker 命令即可启动一个构建的 Agent ,而且 Agent 免于维护,自动升级。V 友们可以试试 GitLab 的构建集群配置,相对而言还是比较麻烦的。

摒弃 Organization ,将项目以树形结构组织以方便设置的继承

自从 GitHub 使用 Organization 后,似乎所有类似的软件都采用这种方式来组织项目了。这种方式对于面向公共服务的云平台而言可能比较合适,但对于公司内部使用感觉没有太大必要,而且还会带来很多麻烦,比如 GitLab 在 Group 级提供 Epic 功能,而在 Project 级提供 Issue 功能,但很多用户要求这两个功能能同时在 Group 级和 Project 级提供等等。我们的做法是将项目以树形结构组织,下级项目可以自动继承上级项目的设置,也可以按需复写。这使得大量项目的设置维护非常容易维护。

随时对代码进行标注和讨论,而不用依赖于 Pull Request

在浏览源码或者 Diff 时,可以对任意代码块即时发起讨论。讨论的内容将作为代码文档的一部分(即使代码改动甚至更名),方便其他人事后对代码进行阅读和理解。不同于其他的 Git 工具,代码 Comment 在侧边显示,避免割裂代码上下文,影响阅读。

file-comment.gif

另外每处讨论形成单独的 Topic ,使相关的人很容易知道哪里有新的改动或回复。

threaded-comments.png

资源占用相比 GitLab 小很多,速度快

个人使用的话,一台 1 核 2G 的机器足够了。比 Gitea/Gogs 的资源占用还是多的,不过如果 Gitea/Gogs 要做类似功能,受限于 Golang 的生态,可能要启动一些其他语言写的微服务(比如各种 Language Server ,Elastic Search 等),最终资源消耗一定不会小。

还有一个优点就是主服务可以运行在 Linux ,Mac ,Windows ,FreeBSD 等多平台上,可以使用内置文件数据库,也可以充分利用公司现有资源连接到 MySql/MariaDB/PostgreSQL/Oracle/SQL Server 等外置数据库。

技术栈

不够时髦,甚至有点羞于启齿,从头到脚 Java 一把撸(之前被一些 V 友喷用 Java 不够云原生😊)。不分前后端,所有的功能在一个 Maven 项目中( 40 万行代码左右)。使用 Wicket (估计很少人听说)直接把界面交互和后端逻辑封装在一个组件中,大部分配置界面通过 Annotation 自动生成。依赖注射和插件体系基于 Guice 。在 Eclipse 中启动项目大概耗时 20 秒,不过大部分时间热部署,改动代码后直接刷新页面就可以看到改动。

感谢 V 友们支持🙏

3. 积累财富最好的方式还是反消费主义

这些观点其实也不新鲜,自己这些年一直在践行 后来发现和 Dave Ramsey 这个老头推崇的那套东西比较像 当然他做的更极端,都不让人有信用卡,让收入低的人不出去吃饭在家吃豆子和米饭....

财富积累的核心在于控制消费的欲望,早年多存钱和投资(需谨慎) 才能最快的达到你的目标,开始享受生活

收入高低自然重要,但是很多赚的多的人花的也多,根本攒不下钱 一旦工作出现不稳定的情况就很危险 收入普通的人有良好的理财习惯,最终反而往往有更高的净值和更强的抵御风险的能力

不是完全不消费,而是 一要避免和自己净值不符的消费,比如有钱人买奢侈品只是日常消费,但是你花一个月工资买个包就很蠢了 二不要被消费主义洗脑,总去买对自己生活提升价值不大的东西

房产是可以贷款买的,但如果是自住的,即使会有价值的增长也不会提供被动收入,买太贵的也不合适。房贷月还款不应该超过 1/4 的税后收入 房屋相关的房产税、维护、物业费、水电气都是支出 汽车必需才买,车价不能超过自己税后年收入的一半,不要贷款买(放在国内环境,至少不要付利息)。收入低的话就买二手的

免息分期消费虽然数学计算上看似划算,但容易让人形成习惯,多买很多不该买的东西 花出去的钱总是要还的,会很影响财富积累的速度 信用卡也是同样的道理,容易让人多花钱。刷卡付一万出去没啥感觉,但数 100 张毛爷爷出去就心疼了

面子相关的一切东西都没必要,度假之类的享受也不应该是你该去考虑的 先过的苦一点,后面财富自由了随意享受 年轻的时候穿的破一点 开的车烂一点又如何呢? 不让别人知道有钱也挺好的,少很多麻烦

4. 银行总部和互联网 Offer 该怎么选

各位老哥大家好

小弟为 2022 应届毕业生,背景为 985 本硕,在秋招中拿到了蓝色四大行总行和某互联网公司的 offer (~ 45w+)

想问问各位老哥 这种情况该如何做选择

ps 目前一个难点还在于总行的薪酬和晋升信息众说纷纭,很难鉴别准确的信息,也加大了做选择的难度….

5. Safari 和 Webkit 团队终于承认错误并开始征求反馈
https://www.ithome.com/0/602/343.htm

> Safari 和 WebKit 的 Web 开发者体验团队的苹果布道者和开发者倡导者 Jen Simmons 在推特上说:“我提到的每个人都说 Safari 是最糟糕的,它是新的 IE 。”这导致她需要用户提供反馈,最好是强调具体的错误 Bug 和抑制网站、应用程序的支持缺失的情况。

前几天还有人讨论 Safari 的问题,今天看到新闻说官方终于表态并准备改进了。Webkit 一直存在很多长年没被修复的 bug ,并且近年来还有越来越多的趋势,能放下傲慢的态度开始解决问题的确是件好事,但考虑到迭代速度估计还得是得等蛮久了。
6. 分享一下你今年的书单
1 、明朝那些事儿
2 、活着
3 、百年孤独
4 、云边有个小卖部
5 、白夜行
6 、三体

大家还有什么好书分享一下吗,包含技术类、管理类、心理学类、理财类等

先谢谢大家了,祝大家虎年大吉!
7. 小区还可以这样管?真的被震撼到了。

手把手教你解决邻里问题—HOA ( https://posts.careerengine.us/p/5e79450f3ffb106656304b0e

美国置业须知:HOA(屋主协会)及物业费的含义( http://www.beimeigoufang.com/newsd/newsdetail_14628.html

在购买房屋之前,小区的规则相当于都明确订好了(且有法律强制性),哪怕是不准养宠物这种奇葩规定。每个小区的规则的初始化是建筑商订立的,这点让人眼前一亮。而后随着建筑商手头的产权越来越少,HOA 逐渐获得更多的表决权修改规定。业主可以在购买和入住之前,有充分的选择自由,而一旦选择了,就得遵守————选择自由,承担责任。

在这种情况下,小区里那种“公说公有理婆说婆有理,没人服气”,或者说“只能靠调解,没有约束力”的乱象,几乎不成问题了。而且解决办法这么简单优雅。否则你单单只是把“不准养宠物”这句话说出来,谁会买你的账呢?!

这次真的是感到深受震撼,虽然仅仅是轻鸿一瞥。超出了我的想象,哎,他们怎么这么会玩儿?!

8. 大佬,分享你们网站给我看看吧。
开工一周了,还没想起来年前是干啥的。一直在摸鱼。
主要是同事都请年假了还没来齐。
实在无聊。
大佬们能分享下自己的网站给我看看么。
或者有什么存货发一下。
我特别喜欢看小而美的博客。
9. 喜欢看一些“牛鬼蛇神”的东西,是不是逃离现实的心里疾病?

从小到大一直喜欢看一些都市传说、UFO 、以及一些阴谋论。最近失业在家,然后又开始沉迷这一切,听各种相关播客、老高的视频刷了又刷,甚至还买了一套《地球编年史》来看,复盘整理了全世界各种第三类接触事件,然后查看各种论文

最近家里人知道了,说让我去看看心里医生

比如外星人相关:国内的孟照国事件、外星人背着飞行全国旅游事件、国外的罗斯维尔、各种 51 区揭秘、各种大过滤器、费米悖论之类的、美军公布的不明航空现象( UAP )事件

比如阴谋论:脑控、尼比努星球、共济会、人类起源、月球的起源、CIA 的秘密实验

都市传说:山海经、上海盘龙柱、营口坠龙、小人小飞机、各种古代神话(盘古、伏羲、亚当夏娃、大洪水)、各种网络未来人的预言

10. 下雨天,笔记本应该怎么防水?

求推荐好方法

11. 公司准备重构 App,请问一下现在最流行的架构是什么?

如题,重构 App 可选的方案太多了,不知道如何下手。 Jetpack MVVM ? Compose ? Kotlin flow ? 准备选一个当前最流行的架构,大佬们有没有模板项目推荐的?

12. 算法问题,大神进!
问:如何用 512MB 内存对 4 亿个银行卡号(每个卡号 16 位阿拉伯数字)进行搜索?
13. 装 Linux ,哪款笔记本待机时间长一些呀

平常老是移动办公一周得 4 、5 次,但是不喜欢也不习惯 Mac ,平常用 Linux 。 15 寸以上的笔记本,轻薄不轻薄无所谓,老爷们用,目前用的 T470 ,准备换一个。

最后弱弱地问一句,搜了下论坛,不少人都说装了 Linux 耗电比 Windows 快?能快多少啊?本来 Windows 能待机 10 小时的,装 Linux 能待机多长时间呢?

14. 我又来了,关于有线 MESH 路由器的推荐咨询

全屋都埋了网线的,由于户型不算特别小,所以需要做有线 MESH ,来咨询一下大家,有线 MESH 推荐哪家的路由器,目前手里有一堆开发商、装修公司等送的垃圾千兆路由器以及一个华硕 ac86u ,大概需要 3 个路由器的样子,最好预算能控制到 2k 上下

15. 请教大家如何起诉微软?

背景

我的 OneDrive 存储了从 2012 年至今我所有的照片, 以及读书和工作以来所有的资料, 以及一些密钥的解密文件。 今天我发现,我的 Onedrive 只有一堆目录,但是目录里的文件全部消失了。 这显然不是个人操作能够实现的方式(我有数百个目录以及很深的层级),我认为这是 OneDrive 的某种缺陷导致。 并且,以往我无意中大量删除文件都会收到邮件告警,这次没有收到告警。 我非常明确在一个月以内,我有使用过存储在 OneDrive 里的 ppt 文件作为演示。 目前回收站只有最近的一些上传记录,没有以往的数据。

我猜测是文件随选的锅

沟通

目前的沟通是我今天发邮件问微软支持部门,客服回复我说回收站没有就是文件永久丢失。

计划

起诉! 咨询一下各位有相关建议吗?

16. 北京海淀怎么租房啊

工作地点在海淀知春路

目前是在知春路找中介租了个房,14 平米,3400 每月。

  • 缺点: 老破小区、4 人合租、隔断房、没有冰箱、没有客厅、没有厨房、卫生间没有干湿分离、整体居住体验比较差。
  • 优点:离公司很近,骑车 7 分钟就能到。在公司房补范围内。附近吃喝玩乐的地方比较多,小区生活也比较便利。

虽然在公司房补附近租房很爽,但是这边的小区大多都是老破小,房租也很贵。因此想提升下居住体验,降降房租,不介意住的稍微远些。

总结一下自己的住房要求:

  • 地铁通勤时间不能超过 40 分钟
  • 有厨房,有冰箱,卫生间最好干湿分离
  • 可以合租(不能多于 3 人),卧室面积在 15 平米左右
  • 价格不高于 3000

最近去链家、自如上找了一圈,发现符合要求的根本就没有,海淀边上的一些小区都贵的要死。

大家有好的地方推荐吗?

又或者说大家都是怎么租房的啊?

17. 安卓用户换了 iPhone ,求 iOS 指北
求推荐 APP ,骚扰拦截,长截图,SSH ,好用的小工具等

顺便问一下美区和国区两个账号安装 APP 是不是只能退出重新登录切换账号?
18. bitwarden 炸了

chrome 插件内密码库都变成"error cannot decrypt"

19. 求问移动网络翻回家里网络的正确姿势
科学了那么久一直没搞懂怎么才能正确从外面手机移动网络接回自己家的局域网。
设备:iPhone 12/R4S
公网 IP: 有

希望用上的场景:
1.在外面可以手机投屏到家里房间的 Apple TV ,比如提醒孩子该休息眼睛了,之类;
2.在外面可以使用家里的打印机;在外面可以直连家里的其他设备包括路由器,NAS 等;
3.在外面使用家里的网络设置,包括 Openwrt 里的科学 /ADG 等现成的设置。

已经一知半解的解决方案:
openwrt 中的科学插件开启‘服务端’,使用 socks5 协议,IOS 端使用小火箭全局连接。这个方法好像只能实现场景 3 的功能,但是实测无法直接访问内网中的设备,不知道是哪里没有做对。

ZeroTier 等穿透工具,没试过不过好像要 IOS 端下载另外的 APP 实现。

有没有直接用小火箭或者手机自带的网络设置就可以实现三个场景的方案呢?
20. 联通营销客服 到底是什么样的存在?
起因是这样的, 2022 年 01 月 29 日 17 点 23 分(春节前 3 天),手机接到 联通营销客服电话(027)59557285 对话内容如下:

营销客服: "您好!请问您是 xxx 机主吗?"
我: "你是谁?"
营销客服: "我是联通客服代表; 联通现在针对春节期间,做出的人人都可享有的优惠流量活动。不影响您当前套餐,不开通任何业务服务,下月自动生效。 "
我: "那既然所有用户都是,又自动生效。 你是过来通知我的吗?"
营销客服:"不是的~~~~。 " (支支吾吾说不清楚)
我: "那好吧" (挂断电话)

结果:次月发现她还是给我开通了"39 元 5G 版超级会员(黄金版)-次月生效套餐" (吐血~过年农村老家又没有 5G 信号)