2021-10-28

18 篇热帖

1. 收到学校要求下架学生服务相关的小程序

我有一个朋友,咳咳,本科阶段(未毕业)开发了一款微信小程序。用户提供学校统一登录的用户名和密码,然后程序去拉取成绩、课程表、消费等信息,并提供给用户。项目是开源的,服务器放在境内云服务器上。

然后近期信息化技术中心以《数据安全法》、《网络安全法》为由,要求停止运营。此前,他们在刚开发这款小程序时向信息化技术中心提出过合作,当时对方拒绝并提出两个选项:

  1. 程序给信息化技术中心运营,学生只负责开发,都不带挂名的,并且要写信息化技术中心提的需求。
  2. 给信息化技术中心打工,维护学校的系统( C#、Java 之类),按勤工助学( 12/h )给钱。

然后谈崩了。

现在情况是:

  1. 由于需要走学校统一登录,所以数据库大概率需要明文存储用户密码。一个解决方案是,数据库中存储一个对称加密后的密码,小程序前端存储一个 key ,每次用户操作时解密。或,数据库不存储用户密码,全部放到小程序前端以满足合规性。其实没啥用,因为理论上还是能获取用户密码的。我现在倒是觉得用户密码是累赘。

  2. 由于请求过多,数据库中缓存了一些数据。一些学校页面需要近 10 秒才能访问。并且,由于一些功能大家之前不咋用,但是因为小程序使得查询更方便了,所以查询次数增多(如成绩),因此我同学认为其他一些业务数据的缓存也是必要的。

技术约束:

  1. 要走学校的上网认证系统去连公网,不然啥都传不出去。
  2. 信息化技术中心总能顺着网线找过来。

其他:

  1. 其实做这个事情最大的阻力还是同学指导老师,都不会和信息化技术中心争取一下。
  2. 其实是学校网站里的一些数据有问题,他们不想我同学频繁查,这样去提数据有问题的人就变多了。为此他们还让我同学下架了一个模块。
  3. 感觉是学校部门之间的问题,信息化技术中心主要是想清闲点不给自己找事情,学校知道了不知道会不会支持。其实服务器放学校什么的,包括运营和学校联合起来、我们都接受的。
  4. 该项目从设计之初就是不盈利、无广告。云服务器靠学校报销,无金钱利益牵扯。

请问:

  1. 个人为主体的小程序,在这种情况下,数据是否存在合规性相关问题。
  2. 不想这个项目荒废,现在应该咋办?我同学打算先拖拖,后面以个人名义运营。
2. 前端应该算是目前程序员里最简单且收入不低以及压力比较小的工作了

不同于 10 年前前端开发的苦逼,目前的前端开发在各种自动化工具辅助下真的很简单,我的前端朋友们现在是这么工作的:

1.拿到 psd 设计图文件后,把要的区块都自动导出成 css ,
2.然后页面先用 flex 大体布局一下,每个区块都用一个 div 使用对应导出的 css ,再用 margin 、padding 微调到需要的布局效果,
3.最后用 vue 这种 mvvm 的 js 库套一下就完成了前端工作。

是不是很简单,设计的 css 主要被 UI 完成了,剩下的复杂布局由于有了 flex 变得只需要了解 flex 的 6 个不难的参数就解决,交互的 js 用 mvvm 库变成操作数据就能方便地完成。

除了上面说的实际工作内容简单外,前端更吸引我的是下面这些优点:

1. 外行觉得前端很难,甚至同是程序员的我,之前对前端的印象一直停留在 10 年前兼容各种浏览器的苦逼前端,也以为前端很难。
2. 前端压力小,最多展示歪了,没后端压力比较大,服务器挂了就是事故损失,
3. 前端收入与后端等差不多,甚至更高,
4. 前端的岗位多,对比其他程序员种类的岗位,前端需求更加普遍,而且前端更容易接到外包。

所以群里不少朋友都从后端转去干前端了,“写代码能力那么菜的前端,居然和我拿得差不多多,还比我轻松,我也得转行前端”。

3. 为什么程序员到一定年纪开始关注管理相关的内容,不再在技术上深入下去?

转个知乎问题回答: https://www.zhihu.com/question/485901214/answer/2193462107

其实这个问题从我刚毕业的时候就一直在思考,也一直在网络上查相关的问题,包括但不限于以下命题:

  1. 程序员是不是到了 35 岁就会被淘汰?
  2. 程序员是不是年龄大了只能转管理?
  3. 技术和业务哪个更重要?
  4. 程序员的发展方向是什么?
  5. ...

诸如此类的问题,在知乎上也比比皆是,不信我随手给你截一个图:

图片

这个问题,我觉得不同的年龄段、不同的工作经验、不同的工作环境给出的答案是不一样的,我的回答也只代表我此时此刻( 2021.10 )的想法。

题主这个问题,细拆一下大概有两个关键因素:

  1. 程序员的年龄
  2. 是否转管理

下面我就细说一下我的思考。

程序员的年龄

先说说年龄这个问题。

程序员这个工作确实是一个逆水行舟的工作,不进则退,如果你的职级、负责的事情没有随着年龄的增长而增长,那你在找工作的时候就会受到质疑(声明一下我没质疑过别人,只是在网络上见过别人发出这样的质疑),所以从这个角度来说,这也造成了程序员的卷。

而且程序员行业普遍年龄都偏小,大部分都是二十多的小年轻,在整体年轻化的工作氛围下,对年龄大的容忍度比较小,何况还有那么多压榨人的小公司。

是否转管理

这个问题放到几年前,或许我无法很好的回答,我可以照着网上很多回答说“不用非要转管理啊,你也可以安安静静的做技术专家啊”之类的话,但是以我此时此刻( 2021.10 )的认知,我的回答是:

肯定是要转管理

转管理这件事情是不用犹豫的,你唯一需要犹豫的是:是否要在做管理的同时依然保持技术敏感度

你想想随着你职级的升高、负责事情越来越多、事情规模越来越大,你一个人肯定不可能面面俱到的做所有事情,所以你必然会带一个小组或者团队,只要人数大于 2 ,那必然会出现管理问题。

怎么管好事情?怎么管好人?怎么让大家可以开开心心的做事?怎么让大家把事情做成?怎么让你的上级觉得你能管好这个团队?这都是问题,这是你无法抗拒的,这也是你必须解决的。

还有就是,大部分公司所谓技术,也就那么回事儿,真正有意思的做出牛批的产品,不管是面向普通用户的商业产品还是面向程序员的技术产品,而做这种产品总是需要一个团队的,所以这就又绕回到管理上来了。

最后,待过大公司的人应该都知道,互联网公司的干活儿模式其实可以粗浅的分为三级:

  1. 负责人
  2. 小组长
  3. 干活儿的

这里面,第 3 级就是大部分人所处的位置,主要是以干活儿为主,基本上就是块砖,哪儿需要就往哪搬;第 2 级是小组长,也就是带领大家干活儿的人,一般是带三四个人,小组长只有分活儿的权力,没有打绩效和人事权力;第 1 级就是负责人,也就是在组织关系上有明确节点的人,有人事权和绩效权,可以决定团队方向和划分蛋糕。

以目前的情况来看,如果真的对自己的技术很有自信,那么为什么不往技术管理的方向走呢?去带领更多的技术人做出更高的产品,这一点在多年前雷军就有谈到过(原文地址:我的程序人生路( 1996 年旧文) | 雷军的博客

高级程序员不是追求的目标

有的人学习编程技术,是把高级程序员做为追求的目标,甚至是终身的奋斗目标。后来参与了真正的商品化软件开发后,反而困惑了,茫然了。

一个人只要有韧性和灵性,有机会接触并学习电脑的编程技术,就会成为一个不错的程序员。刚开始写程序,这时候学得多的人写的好,到了后来,大家都上了一个层次,谁写的好只取决于这个人是否细心、有韧性、有灵性。掌握多一点或少一点,很快就能补上。成为一个高级程序员并不是件困难的事。

当我上学的时候,高级程序员也曾是我的目标,我希望我的技术能得到别人的承认。后来发现无论多么高级的程序员都没用,关键是你是否能够出想法出产品,你的劳动是否能被社会承认,能为社会创造财富。成为高级程序员绝对不是追求的目标

至于是否在做管理的同时依然保持技术敏感度,也就看自己了,如果是我的话,我会依然保持对技术的敏感度,毕竟我本身还是很喜欢写代码的,这一点因人而异。

最后

最后总结一下,以目前( 2021.10 )的情况来看,程序员到了一定年龄必须要关注管理,因为做更大的事情需要更大的团队去完成,而且社会因为年龄也会对你有更高的要求。

不过,我还是希望有那么一天,没有人再问此类问题,所有程序员不管什么年纪都可以沉醉的写代码,不会因为年龄、资历而受到质疑,这一天应该会很快到来。

4. 教育优惠时凑热闹买的 iPad pro,发现除了看视频真的用不上

回家看视频用电视看,在单位大部分时间看电脑,路上开车又看不了,天天放在抽屉里定期充电,买了个笔跟着 youtube 上的教程画了两次画,发现也没啥用啊,又不学习不记笔记,总之就是懒着用,掉进了消费主义陷阱。

5. 薄了 0.1mm 的视觉效果是真的震撼

这就是工业设计的威力呀 XD

6. App Store 审核说我的 App 山寨抄袭我开源代码的 App 并拒绝了版本更新

首先交代下背景。

我是 iOS App waifu2x的作者。我在 2017 年开发并上架了本 App ,并将代码开源在 GitHub 上: https://github.com/imxieyi/waifu2x-ios

在之后有很多人通过各种渠道请求我移植 Mac 版,比如这个 issue。本来我并没有计划移植,但是实在请求的人太多,所以我在 2018 年初就移植到了 Mac 上并开源: https://github.com/imxieyi/waifu2x-mac

因为我没有计划上架,所以只做了个非常简单的 demo UI: https://imgur.com/a/3Av7dfV

没想到,没过多久就被一个国内开发商直接盗用并发到了 App Store 上并收费 18 元(现在的价格是调过的): https://apps.apple.com/cn/app/waifu2x/id1387298406?mt=12

以防万一 archive 在此处: https://archive.md/oS8sHhttps://archive.md/d9Nhp

截图里的界面是不是很熟悉?我是根本想不到连这种只是用于 demo 的 UI 都会被人直接发到 App Store 上。

我还是从 GitHub issue 得知这件事的: https://github.com/imxieyi/waifu2x-mac/issues/1

可惜我当年还是学生,并没有意识到这件事情的严重性,所以一直就没管它。但是,这件事确实给了我警示,所以从那以后我把 waifu2x-ios 的 App Store 版 fork 到 private repo 并基本停止更新开源版。

去年我通过 Mac Catalyst 把 iOS 版移植到了 Mac 上,上架时遇到了问题:名字 waifu2x 已经被占用了。本着多一事不如少一事的原则,我就将 App 改名为 waifu magnifier 上架,App 里面依旧显示 waifu2x 。在这一年中多次更新版本都没遇到过问题: https://apps.apple.com/us/app/waifu-magnifier/id1479332784

直到昨天再次尝试提交更新时,Apple 审核直接把我拒了,理由如下:

Guideline 4.1 - Design - Copycats

Your app or its metadata appears to contain potentially misleading content. Specifically, your app includes content that resembles “WaiFu2x” without the necessary authorization.

Next Steps

Please demonstrate your relationship with any third-party brand owners represented in your app.

???这直接把我干破防了。是我山寨抄袭我代码的 App ?还得亏我去年更新过一次 waifu2x-mac 的 UI ,而这开发商立即又盗用更新后的 UI 代码更新他的 App 。

从头到尾这个垃圾开发商就没联系过我获取相关的授权。我承认我当年还是 too young too simple ,选了个宽松的 MIT 许可证,换到现在我至少也要用 Apache (我当然也知道所谓开源许可证在国内就是废纸一张)。只能说做开源项目真的得慎重,这种容易被人直接拿去赚 free money 的项目最好一开始就不要开源。

我已经向 Apple 投诉侵权,看看这个垃圾开发商怎么回复。

8. 听闻微信开发者文档很差
实际试过之后才知道有多烂
1. 命名风格不统一
同一个接口,一个字段命名为 xxxid ,另一个为 xxx_id 。大概他们自己也觉得蠢,在下一个版本的接口中统一为 xxxid 。

2. 描述不清
一个字段描述是需要随机字符串,没有说明任何字符限制。按照字面理解,我传 random ascii ,结果错!只好老实按照他给的示例值 字母 + 数字 生成,至今不知道是不是做了这个字符限制,懒得再试其它字符。

3. 描述不清 2
接口需要传 json ,有的字段标注非必填。按照我的理解,非必填那就传 null ,结果错!人家的意思是连字段名都不传。不知道他们用的什么开发,是不是很难兼容两种情况,反正我的项目是能轻易兼容的。

总的来说也不是什么大问题,但是总在不应该有的小问题上给你整活儿就很讨厌。
9. Google Voice 回收政策再升级

Account Inactivity

Google may reclaim your Google Voice number (if you have one) if you have not placed or answered calls, or sent or opened text messages for a period of 3 months. We will not reclaim numbers that have been ported into Google Voice or made permanent.

从 6 个月无通话,发短信缩短为 3 个月,各位大佬请及时修改 IFFF 保号规则

Google Voice 政策

10. 想买一个空气炸锅

有没有买过的解下毒

最近看了一下 up 煮的视频,感觉这个东西看起来很方便

这个做出来的东西好吃吗

平时基本不怎么做饭 >_<.

11. 打算退了 Macbook Pro

现在手头用的是 M1 的 MacBook Air 。 说实话这个续航和性能让我第一次感觉到「原来笔记本还可以这样」。平时的需求是以文字处理为主,M1 给我最大的感受就是 Office 的流畅度的提升。偶尔也需要导出一些上课录下来的视频,但 M1 的性能也可以轻松应对。

期待了很久的 MacBook Pro 没想到是这个厚度、这个重量,可能之前 MacBook Air 和 Pro 用的是差不多的模具让我产生了一种“Pro 也需要轻薄”的错觉,所以才会对这次的发布会抱那么大的期待。

第一时间下单了 MacBook Pro 14 寸的,也第一时间去了直营店看,快递到后第一时间拆开体验————诶,太失望了。

我不编程、我几乎不剪视频,我就想要这个屏幕、Promotion 以及扬声器,我还想要银色和深空灰的配色。如果接下来 Air 是像网传的那样七彩色+白色键盘,我想我会不能接受。

求下一代的 Air 更加轻薄、换个屏幕、加个 Promotion 、保留银色或深空灰的配色。

12. 据说 Windows 11 的系统内置应用中大量使用了 Webview,不知道是不是真的?

没实际体验过 Windows 11 ,不过之前看到网上有人说开机就能看到 Webview 的进程在跑。

13. MAS 里的网易云音乐仍是 Intel 版本,并未适配 M1

“为搭载 M1 芯片的 Mac 优化”,但实际安装的是 Intel 版本。 image.png image.png

14. 心血来潮想买个 mp4 播放器,有推荐的吗

看完电影想买个 MP4 播放器,感觉贼浪漫。 想请问一下是淘宝随便买个播放器就可以还是说要追求 sony 那种高端产品。 预算问题不太确定,就是第一次买这个。不知道是直接买个差不多到顶的设备,还是从头玩起。 这玩意应该故障率不高吧,估计两年三年都不用换。 求大哥们出出主意

16. 有在某宝定制 MacbookPro2021 已经发货的吗?

很焦急,客服说要等一个月

17. 公司网禁了远程桌面?怎么破解

家里有台 NUC11 一直开机 在外面用微软自带的远程桌面访问,唯独公司网不行,提示内部错误,用 clash 全局代理也不行,但是用手机热点可以,应该可以排除电脑的问题,就是公司网络的问题。

33890 是我自定义的端口,路由器里面已经转发了。

微信截图_20211028114838.png

18. 秋招卷中卷,但是薪资出乎意料,体感倒挂也挺严重的
只讨论大厂,薪资情况基本在 offershow 小程序里都可以查到

今年技术岗位白菜价基本是 22k*(14-16)起,开 21k 的都成了劝退价
腾讯白菜 40w 总包估计都知道了,知乎上有很多讨论,虽然是算上了签字费和房补之类的,有点虚
阿里跟上了腾讯,今年给的挺多的,阿里云 sp 有 30k 了
京东 22k*15 ,好多人都喊劝退,但是京东面试挺简单的,感觉有点水平都能过
百度好像有的部门跟了腾讯,开的价也挺高的,sp 24k*16 吧
美团因为开了很多 21k 的低价,好多群里都在骂泔水团,今年算是“摆烂”了,没涨薪而是延长了秋招时间;但是 sp 、ssp 都挺高的,甚至测开岗都能开出 27k
字节三年前就是 21k ,今年还是 21k ,一点没涨,而且开奖很晚,到现在还有一些部门没开,估计这个价格会劝退一批人;不过现在字节的招聘策略就是低门槛高薪广招人,然后招进来试用期劝退多数,留下卷王
滴滴主要是消化实习生,hc 很少,而且因为滴滴现在深陷风波,认识的好多拿了 offer 的都没去
华为超发严重,拖到现在很多部门都不开奖,还传出一些压价的负面新闻

从面试难度上看,今年 Java 后端真的是卷中卷,人均秒杀系统、JVM 底层原理,ConcurrentHashMap 实现细节、redis 源码分析、各种框架运用;而 C++相对来说简单很多了,今年背背八股就能上岸;算法还是继续卷,但是主要是简历关很难过,没顶会的多数都刷了,面试倒不是很难;客户端是最简单的,0 基础都要,面试如果会点东西

因为我不喜欢 Java ,也不想纯 crud ,所以投递的主要是游戏引擎开发岗位,体感并没有后端那么卷,但是很吃学历,了解的几位群友拿了游戏 offer 的都不低于 40w
传闻米哈游今年开出了 35k*16 的天价,但是米哈游面试难 hc 少,很可惜我挂了……

今年秋招最深刻的一点就是 offer 越多,越能拿到好价钱,只有海王才配拿高薪,只有一个 offer 的很多都给了白菜价。到现在字节还有很多部门没开,但是据群里讨论,字节今年给的不会低于你手里最高的 offer ,可能还能期待一下