Monday, October 11, 2021

V2EX - 技术

V2EX - 技术


Google 谷歌搜索业务倒闭的可能性分析

Posted: 11 Oct 2021 04:30 AM PDT

前情提要

发现很多网友对「小搭百科网」的关注度比较高,于是……

https://www.v2ex.com/t/806684

如何屏蔽 Google 搜索出来的一堆垃圾内容

https://www.v2ex.com/t/807058

简体中文互联网站都需要备案,基本部署在国内,现在移动端封闭,web 基本上都要跳转到 app 去查看全文,中文互联网围墙化,没有足够量的允许搜索引擎索引的新内容产出,导致搜索逐渐劣化

目前英文搜索也是这个趋势发展,因为英文用户体量大,再内容 app 围墙也还是有一部分产出

我彷佛看到了 Google 照这种趋势发展下去,其搜索部门可能会倒闭

大家觉得在这个 app 时代谷歌搜索业务会怎么发展下去呢?

MIUI 的手机目前有啥推荐的吗? k30s 至尊纪念版、k40、还是即将要发布的 k40s?

Posted: 11 Oct 2021 04:28 AM PDT

树莓派啥时候回到正常点的价格呀

Posted: 11 Oct 2021 04:27 AM PDT

用查价软件看了看,发现涨了好多

1password 太烂了,为何这么多人开车?

Posted: 11 Oct 2021 04:26 AM PDT

1,一共长期使用过三款密码管理器,分别是:lastpass,1password,bitwarden,其他的只试用了下。
2,但从编程的角度来说,lastpass,bitwarden 都很好,1password,是最差的,bug 最多,尤其是 pc 客户端和网页端,这样的软件水平,我怀疑在国内也要丢饭碗。
3,从功能的角度来讲,lastpass 无疑是最激进的,1password 和 lastpass 都采用的入侵式对直接在输入框旁边进行提醒,1password 硕大的提醒栏经常对用户正常使用造成干扰,1password 甚至还让 mini 客户端跟送浏览器插件一起启动,这太让人恶心了,lastpass 的提醒比较小,基本不会造成干扰,bitwarden 只是在浏览器插件上显示数字提醒,刚开始不太适应,但用的久的反而喜欢这种简洁的提醒方式。
4,1password 在 pc 端使用的逻辑流程混乱,客户端,网页端,浏览器插件端,来回的跳,相比 BITwarden 的简洁高效简直天壤之别,BITwarden 仅仅使用浏览器插件能完成 90%的工作,只有涉及一些账户问题才会跳转网页端。
5,为什么 1password 开车的人最多,我现在明白这仅仅是这个公司营销做得好而已,先卖高价,然后采用送一年,打半折等各种方式促销,让用户觉得赚了便宜。但实际上针对用户体验来说,我个人认为 bitwarden 才是做的最好的。

公司拖欠工资, 终于到了强制执行阶段, 大家说说我应该注意什么问题?

Posted: 11 Oct 2021 04:26 AM PDT

公司拖欠工资, 终于到了强制执行阶段, 但我有个问题不解, 我从网上了解到, 提交申请的时候需要提供法人股东出资证明, 可我到法院那边问, 他却没要求, 我不知道网上为何这么说, 同时我自己又很迷惑, 把股东追加为被执行人是在什么时候进行? 是申请强制执行的时候就开始填写吗? 还是申请执行了, 公司确实没有钱了才另外申请? 另外, 我想问下, v 友中谁能提醒下, 这个阶段我该注意什么问题?

google play 的关键字查询的机制是什么?

Posted: 11 Oct 2021 04:24 AM PDT

google play 的关键字查询的机制是什么? 为什么我输入 ticktick, 搜出来的结果中却出现了 todoist, 按照我网上查询的资料, 输入相关的关键字, 要想让自己的应用匹配这个关键字, 至少存在下面一种情况: 1 ) 名称中包含有该关键字 2) 包名包含有该关键字 3) 描述中包含有该关键字

但是打开 todoist 后的整个页面中, 并没有找到 ticktick 这个关键字, 包名也没有包含有 ticktick, 而输入 ticktick 进行搜索, todoist 确实被搜出来了, 而且还排在前几位, 最要命的是, 他们是竞争对手, 这是神马逻辑?

有知道的 V 友能说下啊?

很好奇啊, LOL 手游这种,跟 LOL 端游代码有多少能复用的。。难道手机端代码从 0 开始写吗

Posted: 11 Oct 2021 04:19 AM PDT

MySQL 1000 万数据如何最快全量迁移?

Posted: 11 Oct 2021 03:59 AM PDT

自建的数据库(大概 1000 万条数据,2M 带宽),现在想迁移到阿里云的 RDS 上,如何用最少的时间迁移过去?

用了阿里云的数据迁移服务 DTS,非常的慢,而且一度把源服务器上的带宽占满,导致整个网站挂了。

问一问,大家有没有比较好的解决方法呢?

如何在存储空间不足的情况下安装 Xcode

Posted: 11 Oct 2021 03:52 AM PDT

如何在硬盘不足的情况下安装 Xcode

Xcode 对磁盘空间要求越来越高了,有 40G 的磁盘空间都无法完成升级,相当不友好。本文主要是介绍一下如何在 macOS / Linux 下对 xip 文件进行精简后安装。

精简前:Xcode_13.xip 9.9G / 安装后 >35 G 精简后:Xcode_13.tar.gz 3.6G / 安装后 8.1G (只保留 macOS 相关 SDK )

Xcode 占空间比较大的主要是一堆平台的 SDK 和模拟器。Xcode 提供的是不是典型的 dmg 文件,而是一个 xip 文件。本文基本思路就是解压缩 xip 文件,删除一堆平台的 SDK 和模拟器再安装。后续需要时,可以重新下载安装删除的 SDK 和模拟器。

0x00 获取 XCode 的 xip 文件

登录 Apple Developer (需要认证),访问下面链接,下载 Xcode 的 xip 文件

https://developer.apple.com/download/all/ 

0x01 解压缩 xip 文件

使用 macOS 解压 xip 文件

xip -x Xcode_13.xip 

使用开源软件解压缩 xip 文件

xar 编译并安装 xar。在 Linux 环境下需要参考 #18 issue 修改 configure.ac,将 AC_CHECK_LIB([crypto], [OpenSSL_add_all_ciphers], , [have_libcrypto="0"]) 修改为 AC_CHECK_LIB([crypto], [OPENSSL_init_crypto], , [have_libcrypto="0"])

pbzx 编译并安装 pbzx,编译命令为:

## Linux gcc -I /usr/local/include pbzx.c -o pbzx -llzma -lxar  ## macOS gcc -llzma -lxar -I /usr/local/include pbzx.c -o pbzx 

使用 xar 解压缩 Xcode_13.xip 文件到指定目录

xar -xf Xcode_13.xip -C /path/to/extract/to 

使用 pbzx 解压缩 Content

pbzx -n Content | cpio -i 

0x02 精简 Xcode 文件

在解压出来的 Xcode.app 中删除不必要的平台

# rm -rf Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform # rm -rf Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform # rm -rf Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform # rm -rf Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform # rm -rf Xcode.app/Contents/Developer/Platforms/WatchOS.platform # rm -rf Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform  # 把 Xcode 重新打包 tar vfcz Xcode_13.tar.gz Xcode.app/*  # 对比 Xcode 大小 # ls -alF Xcode* # .rw-r--r-- who cares 3.6 GB Tue Oct  1 01:43:51 2021 Xcode_13.tar.gz # .rw-r--r-- who cares 9.9 GB Mon Oct  1 15:19:25 2021 Xcode_13.xip  # 安装 Xcode cd /Application tar vfxz Xcode_13.tar.gz  # 安装后 Xcode 大小 # 8.1G    /Applications/Xcode.app du -H -d 0 /Applications/Xcode.app  

0xFF 参考

怎么国内没人模仿个 Jira 呢 ?

Posted: 11 Oct 2021 03:42 AM PDT

禅道这种感觉太老旧了,不喜欢。

Teambition 界面太乱了,什么东西管你是否需要都一堆的摆放出来,真的是跟阿里系的产品风格很搭。

Coding 的做的挺简洁,但是看板没做到位,功能不够完善。

看板个人比较喜欢 Trello 、Jira 的那种简洁

或许国内已经有模仿 Jira 的了,可能我没发现,给我推荐个吧,不然我可能忍不住要自己模仿一个出来了。

来看我和二次元妹子结对编程直播

Posted: 11 Oct 2021 03:41 AM PDT

可视化生成代码 (3)

Posted: 11 Oct 2021 03:37 AM PDT

在第二版的基础上,大致完成了第三版的开发计划,加入了项目的概念,支持节点树可视化操作节点,支持导出代码,修复了部分已知 bug 。项目基本达到了一个闭环,可以阐述一下的我对于这个项目的一个想法

一. 需要的是什么?

简洁的操作界面,支持 React 生态的组件库,提供二次开发能力,生成所见即所得的 UI 代码。

二. 希望项目能做什么?

  • 减少重复的 UI
  • 基础界面能够脱离编辑器
  • 可见即可得的布局

前言

  • 项目基本介绍
  • 项目基本使用
  • 重点
    一.「 思想 」布局去定义组件位置,而不通过组件调整位置
    二. 组件采用 Json 方式做为可视化操作
    三. 组件和布局可以随意采用 React 框架做二次开发「 相关介绍在后续计划中 」,以适应自己的相关需求

Demo

一. 创建项目

主要是需要保存项目进度,防止刷新,页面异常等情况,需要及时保存。

1.png

二. 基本页面

  1. 通过布局定义结构
  2. 通过点击或节点树选中节点
  3. 操作节点相关属性

2.png

三. 生成代码

3.png

四. 下载代码本地运行代码

  1. 导出代码
  2. 导入到项目目录
  3. 引入相关依赖
  4. 相关位置引入项目代码
  5. 运行项目

4.png

五. 运行效果

5.png

开发计划

第四版 [未开始]

  • 支持 css 单位 [不在考虑支持,推荐使用插件直接进行 px 到相关单位的转换]
  • 支持组件库自带布局 [✅]
  • 国际化
  • 项目优化(可用性,实用性)
  • 项目相关文章(基于其他组件库做二次开发)
  • 支持后续特性

第五版 [看后续需求]

地址

在线地址

项目地址

后续

项目还未经过具体项目实践的,目前还有几个重要问题在解决中,最近的项目中看是否能具体进行实践,记录问题到第四,五版的开发中。

你们升级的 Windows 11 卡吗?

Posted: 11 Oct 2021 03:34 AM PDT

i5-8300H,升级后感觉切换窗口有点卡顿,是个例吗?

全新安装有没有改善,有验证过的老哥吗

发现很多网友对「小搭百科网」的关注度比较高,于是……

Posted: 11 Oct 2021 03:29 AM PDT

经过艰苦的努力,目前收集到「小搭百科网」 的分身域名共计 2509 个。

已经做成屏蔽列表:
https://github.com/dallaslu/penzai-list

可使用以下直接订阅:
https://raw.githubusercontent.com/dallaslu/penzai-list/main/uBlacklist.txt

或者选择使用标题规则(有小概率误杀的可能性):
https://github.com/cobaltdisco/Google-Chinese-Results-Blocklist/issues/50

下面罗列一些可能有用的信息:

  • 备案主体:广东领讯网络科技有限公司
  • 法人代表:李家杰
  • 业务 QQ:79702151
  • CDN:CloudFlare
  • 云服务:优刻云(香港:118.193.38.103 ,广州:106.75.167.234 ),AWS (新家坡:18.141.160.82 )
  • 统计:百度 (fe48ff45be6dc10c4baab2d39e861fb2)
  • 广告:Google Ads(ca-pub-2239718757853168)

为了挽救这位站长使其免于断子绝孙的下场,中止其作案行为,请问各位,有没有向以上公司举报的可能性?

来 v 站分享一个钓鱼站

Posted: 11 Oct 2021 03:25 AM PDT

早上老婆收到一个短信,复制了内容微信发给我,看到那个短信的签名 [交管 12123 ] ,我就没多考虑打开了网址,输入了车牌号,接着是输入身份证号,后面又要输入银行卡号和密码,就感觉不对劲,于是让她发了短信截图给我,一看这号码是境外的。。。。 被钓了一半的鱼,淦

为什么会这么自觉的输入呢,因为这个界面和办理 etc 的一模一样,也可能周一早上不清醒吧,😓 大意了啊

有趣的是这个域名竟然是在万网申请的,这个人还申请了几百个这样的,就很离谱,果断的举报了被骗的那个网站,发到 v2 让大佬来玩一下。

附上短信截图 111.jpg

如何屏蔽 Google 搜索出来的一堆垃圾内容

Posted: 11 Oct 2021 03:22 AM PDT

如图,每次用 Google 的时候,总有一些网站,前面是问题,点开后又是某某不知名网站,经过 n 层跳转后,去了莫名其妙的网站,感觉像是在刷网站流量,实际没有解决我的问题

各位老哥,怎么屏蔽掉这些网站啊?查解决方案太影响效率了 5ZSTSS.png

请 V2EXER 推荐带卫星云图 (Rain Radar) 的 Android 天气预报 APP

Posted: 11 Oct 2021 03:00 AM PDT

用了墨迹天气,带一个很简陋的 rain radar,广告多不说,最主要不是特别好用。

先行谢过

Github 周边购买 YubiKey 好像可以邮政小包到中国,有人试过吗?

Posted: 11 Oct 2021 02:57 AM PDT

YubiKey 官网不支持邮寄中国,好像可以从 GitHub 周边下单,有没有买过的大佬?

https://thegithubshop.com/collections/yubikeys

大家评评理,去 Deno 提 issue,几位大佬拒不认错

Posted: 11 Oct 2021 02:39 AM PDT

讨论串在这里
https://github.com/denoland/deno/issues/12298

核心问题是,从本地文件创建的 Uint8Array 和其对应的 ArrayBuffer 不一致(buffer 结尾多了一个字符),大佬非说这也正常,让我自己改调用方式去 workaround

我本来支持的 issue 发起者已经认怂了,我不服气

gmail 如何彻底屏蔽掉垃圾邮件?

Posted: 11 Oct 2021 02:33 AM PDT

gmail 标记 block 的发件人发的邮件会从 inbox 转移到 spam,而我希望直接拒收,让我完全不知道 block 的发件人给我发了邮件。

今天发现百度居然出了一个开发者搜索

Posted: 11 Oct 2021 02:28 AM PDT

目前似乎还是 beta 版本,不知道好不好用。

image.png

goahead 的服务器,怎么把 http 强制重定向到 https

Posted: 11 Oct 2021 02:27 AM PDT

小白求教,有老哥知道不

Chrome 书签等同步问题

Posted: 11 Oct 2021 01:44 AM PDT

Chrome 中可以访问外网,为啥书签同步延迟,这个问题有人遇到过吗?今天是 10.11 号,我的浏览器中显示上一次同步的时间是 "上次同步时间:2021 年 10 月 8 日下午 11:27"。

更新最新的 win11 之后, terminal 里的字体会变形

Posted: 11 Oct 2021 01:31 AM PDT

有人遇到吗,难受住了

同步 git hook 有啥优秀实践吗?

Posted: 11 Oct 2021 01:25 AM PDT

最近在研究 git hook,想把代码格式、commit 格式这些统一一下,在 pre-commit 阶段进行检查。

但问题是,hook 所在目录.git 就不会被同步到仓库里。每个人都需要在本地配置一把。

诸如 husky 或 pre-commit 的工具,在 git clone 后也需要 install 一下才会安装好 hook,而且需要本机上有 npm 或 python 。install 这一步不是强制的,万一有人不执行就没用了。

对于这个需求,有啥好办法么?可以强制所有人在 commit 前进行代码和 commit 信息的 lint 的。

prometheus、alertmanager 告警误报问题

Posted: 11 Oct 2021 01:22 AM PDT

规则是这样配置的

  - alert: 服务器宕机     expr: up == 0     for: 1m     labels:       severity: emergency     annotations:       summary: "{{$labels.instance}}:服务器宕机"       description: "{{$labels.instance}}:服务器延时超过 5 分钟"            - alert: MySQL 宕机      expr: up == 0     for: 5s      labels:       severity: emergency     annotations:       summary: "{{$labels.instance}}: MySQL 宕机!!!"       description: "请检测 MySQL 数据库运行状态" 

遇到一个误报,服务器和 MySQL 都正常的情况却触发了上面两个告警规则

请问大家有没有遇到过误报的情况呢?是配置没有对还是什么原因呢?另外有没有办法去查询告警的历史记录呢?目前是通过邮件接收的

JS 有办法 remove 匿名监听吗?或者有什么歪路子能达到效果

Posted: 11 Oct 2021 12:54 AM PDT

想写一个油猴脚本把 B 站复制文本内容时添加的后缀去了
通过 F12 可以看到 B 站监听了 id="article-content"的 div 上的 copy 事件,但是这个监听执行的函数是匿名的,无法正常通过 removeEventListener 来移除
请问有什么办法能移除,或者有什么歪路子能达到效果吗

无聊发呆不是摸鱼而是工作

Posted: 11 Oct 2021 12:53 AM PDT

在这之前听过一个笑话,大概是这样的:有个人发现自己的蛋蛋发蓝,医生认为可能是得了病,而且很急,必须要将蛋蛋割掉才能够治好,结果最后发现是裤衩掉色。

这种事情不太可能发生了,但是这种现象的确是存在的。

当遇到问题之后,很容易将注意力集中在特定的解决方案上,结果那却是个死胡同,越是紧张的去解决问题,反而问题就是解决不了,而且人会更加紧张,压力山大。

当遇到这样的情况时,故意去做点无聊的事情,就很容易找到那个解决方案,它可能就在附近,但你需要切换视角。

例如,闭上眼睛,观察自己的思绪,意识到它但不去干预,这叫开放式冥想;或者,拿一张纸不停的写 0 和 1,直到把这张纸给写完。

做这件事情你会感到穷极无聊,而且思绪慢慢的就会开始发散,这叫做大脑的「默认网络状态」,注意力单方向变成多方向,问题往往就迎刃而解了。

如果你看到某个同事正在做这样的事情,不要认为他是在摸鱼,他可能在思考难题。

如何把谷歌首选验证方式恢复为 Google Authenticator?

Posted: 10 Oct 2021 11:34 PM PDT

我的 2 个谷歌账户,1 个登录的时候,只能手机端确认验证,国内网络的原因,不想经常手机翻来验证这个,但是已经设置好的 Google Authenticator,在手机登录过一次 google 之后,Google Authenticator 的方式就默认失效了。
另一个账号也是很早就设置好了 Google Authenticator,也选择了默认 Google Authenticator 验证,但是登录时候还是手机验证码。感觉两步认证 这块挺奇葩的。

有没有公司用 Python 或者 django 搭建集群、微服务成功的案例?

Posted: 10 Oct 2021 10:24 PM PDT

如果有的话请大佬帮忙讲讲怎么实现的:集群或者微服务都用到了什么,用什么做网关、服务之间怎么调用的。

随着公司业务发展,发现一台服务器上部署的项目满足不了需求,想把项目部署到多台服务器上,也想把其中一些业务独立出来解耦,数据库也想搞一个读写分离,现在毫无头绪;

windows hdr 颜色疑问

Posted: 10 Oct 2021 10:22 PM PDT

显示器是这个 https://item.jd.com/100008800658.html 接口用的是 DP1.4

在看 hdr 内容的时候,是用 hdr 模式去看和用普通 sRGB 看,效果明显不如 sRGB,问题出在哪?

测试视频 4khdr

https://www.youtube.com/watch?v=mYyOH1heRXY

hdr 模式

IMG_6734 (2).jpg

sRGB 模式

IMG_6735 (2).jpg

可能拍照看起来 sRGB 模式比较饱和。但实际观感颜色会丰富很多对比起 hdr 模式像是被砍了一刀的感觉。

谁有 hdr1000 的显示器,可以拍看看效果,不知道所谓的 hdr 是不是这样的

今天看到一个新发现的有趣的排序算法。

Posted: 10 Oct 2021 10:06 PM PDT

新算法:
for i = 1 to n do
for j = 1 to n do
if A[i] < A[j] then
swap A[i] and A[j]

等价的冒泡排序算法:
for i = 1 to n do
for j = i + 1 to n do
if A[i] > A[j] then
swap A[i] and A[j]

算法来源: https://arxiv.org/pdf/2110.01111.pdf

弱弱的说一句: Windows 11 的一些设计降低了工作效率

Posted: 10 Oct 2021 09:47 PM PDT

任务栏

任务栏折叠同一程序的多个窗口, 天坑:

工作中常常同一个程序需要打开多个窗口, 以前可以取消折叠点哪开哪, 现在好了, 为了好看, 点开图标, 再点要用的窗口. 不少桌面都这样设计: gnome (似乎是这样, 用得少不确定), kde plasma(夸奖下: 可以切换为不折叠的, 自由度较高, 设置好了用着很舒服).

疑问就是: 是我习惯问题还是多点几下切换窗口的设计能提高效率???

设置 app

其次: 设置 app, 大部分设置都是折叠的, 好看到时好看了, 找某个设置时, 点击取消折叠点到内心烦躁.

最离谱的: 开始里面右键卸载 app 跳转到控制面板!!! 说好的要淘汰控制面板呢, 难道微软也终于发现 win 10 跳转到设置 app 太难找到要卸载的程序吗?

资源管理器

最后, 吐槽最多的新资源管理器:

  • 折叠右键菜单的设计真的是有病!!!
  • 复制粘贴剪切等操作项目变成图标...可能我比较笨, 一直记不住哪个图标是什么意思, 每次点击都心惊胆战害怕点错了. Android 上面一些 app 也是, 用图标代替文字描述, 但真的是考验智商...
  • ribbon 争议不少, 但起码在资源管理器中没啥问题, 使用频率不高, 默认折叠, 还算好用. 但现在取消了 ribbon, 整的啥玩意儿??? 要啥没啥, 除了简洁... 用的最多的: 以管理员身份打开 powershell 没了!(也许是我没找到吧), 但你说简洁吧, 打开 powershell 普通用户使用频率很高? 高到要挂在右键菜单上? 既然是面向专业用户的, 那又为何取消以管理员身份打开的选项呢?

菜单间距

你说 Win 11 面向桌面使用优化, 缩紧了菜单项目间距, 但资源管理器中时不时的出现超大间距为触摸优化的菜单是什么鬼?

你说面向未来, 针对触摸优化, 资源管理器右键菜单默认间距很大, 但是更多选项菜单又使用极窄的间距是什么鬼?

Win 10 没这么 drama: 鼠标点击, 小间距; 手指触摸, 更大间距. 不出 bug 的情况...

Win 11: 我也不知道时大时小的菜单到底面向什么场景优化的.

追加吐槽: tabtip 组件

越改越垃圾了, 唯一喜欢的功能: 调整大小.

其它反向升级:

  • 性能: Win 10 1709 搞花活整来一堆 bug 几年才修好, 现在 Win 10 的版本性能仍然很糟糕, 中文输入很卡!!! 结果现在看看 Win 11 的, 占用内存 300MB+ 的文本输入组件(Win 10 40MB+), 吓得我一屁股坐地上, 好了, 又吃 cpu, 又吃内存, 体验还不好...
  • 说性能好不卡的, 建议去横向对比下 Windows Server 2022/2019 的 tabtip, 它们还是老样子, 功能相差不大, 打字那种顺滑的感觉暴捶 Win 11/Win 10.
  • 分离模式下, 取消了全键盘布局(英语布局, 中文布局要点到符号模式才有)... 现在 win 11 上 osk 这个老工具还越来越用得多了.
  • Win 10 1709 开始, 虚拟键盘不能移动到屏幕外, 不爽, 忍了, 能用. Win 11 不能移动到屏幕上面 1/3 区域, mdzz, 我遇到的神奇 bug: 虚拟键盘挡住 WiFi 密码输入框, 拖不开...

而作为用户, 我希望的功能:

  • 调整透明度(且不要虚化背景), 这功能相当有用, 因为用时虚拟键盘会挡住应用程序, 不是所有应用程序都会给虚拟键盘让位的.
  • 调整大小, Win 11 有了, 但它砍了完整布局.
  • 保留完整布局: 如果是在娱乐时, 有无完整布局影响不大, 但生产力环境中, 完整布局是强烈需求, 现实总是那么残酷不优雅.
  • 解决 Win 10 1709 开始带来的性能问题, 打字卡卡的感觉很难受.

总之, 几天使用下来, 感受就是: 缝合怪... 看起来优雅, 用起来暴躁.

业务需求估期需要注意什么

Posted: 10 Oct 2021 09:37 PM PDT

转一篇文章:《业务需求估期需要注意什么》

技术同学在整个产品生命周期中纠结最多的除了 "这段代码为什么又出 bug 了" 还有就是 "这次估期为什么不准" ,估期问题不仅是新手程序员做不好的事情,很多老鸟也会在这上面出问题。估期不准,大部分情况是估期时间偏短,这既是项目质量差的祸根,也是整个团队加班的赶工期的直接原因。综合我自己的经验来看,需求估期有以下部分需要注意。

哪些部分在占用时间

很多技术同学对估期狭隘的理解为写代码的时间,这是典型的不从用户角度思考问题,站在业务方的角度来说,ta 希望你给出的时间是从你接到需求直到项目完整上线这整个阶段需要的时间,估期准确的必要条件之一是搞清楚从接到需求到需求上线,这期间可以划分为哪些部分,划分清除之后可以让我们可以针对每个部分来做估时,一些不必要的部分也可以直接砍掉节约时间。

image.png

上面是从接到需求到需求上线的大致流程切分,每部分也会存在一些问题需要考虑到:

  1. 需求分析: 这个阶段要搞清楚的是有哪些功能是可以确定可以搞的、有哪些功能是存在风险可能搞不定的、有哪些功能是肯定没法搞的、哪些功能需要外部依赖等等,这是个排雷的过程
  2. 熟悉老项目代码: 如果是第一次接触项目,那熟悉项目技术栈就是非常必要的,提前知道这里面可能涉及到的技术成本,比如 PC Web 开发和 APP 内嵌 web 开发、不同的项目启动方式发布方式的差异,熟悉一下代码可以让我们预知一些技术栈的学习成本,这样子在估期的时候就可以体现出这部分的耗时
  3. 技术调研探索: 这部分可能是一部分技术同学容易忽略的,忽略的原因一方面可能是第一步需求分析做的不到位,另一方面可能是比较自信,但是在实际开发中,这部分不做可能会导致在写代码阶段才发现某些功能无法实现
  4. 写代码: 这个阶段技术同学都很熟悉,不过我想提两点,一个是不要为了炫技而写一些很难理解的代码,可能初学者觉得代码写的越炫酷代表能力越强,但是随着代码能力的增强,往往会意识到好的代码都是很直白很简单易懂的;另一点是记得写注释,既方便自己也方便别人
  5. 自测: 自测往往是在联调之前,在工作中往往会遇到不做自测的人,和 ta 配合的技术同学就沦为了 ta 的免费 QA,这样的人合作起来很难受,我们还是要做一个职场口碑好的人,做好自测
  6. 联调: 联调也没啥好说的,保障主流程和修复一些明显的问题,做好问题记录即可
  7. 过 Checklist: 在联调阶段或者联调结束,QA 会给出 Checklist,这也是测试阶段 QA 判断是否有 bug 的依据,所以一定要对着 Checklist 一条一条的过
  8. QA 测试: 以我的经验来看,这个阶段也会占用一部分时间,需要跟 QA 沟通和修 bug
  9. 上线: 做好线上环境的 URL 配置,上线前做好回滚方案

上面这些大概就是占用时间的部分以及每个部分需要注意的问题。

任务拆分的越细估期越准

除过了解哪些部分在占用时间外,对于任务的拆分是否细致也决定了估期是否合理。

对于任务的拆分,需要注意下面几点:

  1. 非写代码的工作也需要拆分出任务来,比如和业务方对接时间等等
  2. 重合的工作可以拆成公共模块
  3. 研发类任务拆分出来的单位时间最好不超过 1 天,这样子估期更准确,并且如果工作量较大也方便加人

细致的拆分功能看似婆婆妈妈,其实这要比拍脑袋凭感觉给出估期好太多,也能体现一个技术人员的专业性。

估期细则

软件开发领域有一个定律叫 霍夫施塔特定律( Hofstadter's Law ),这个定律说:项目的实际完成时间总是比预期的要长。 这意味着我们在估期的时候一定要留下 buffer,因为总会有各种事情可能会占用时间,比如:

  • 面试、招聘事宜
  • 线上问题 oncall
  • 例会,评审
  • 需求细节可能会变动

诸如此类的问题,也会占用部分研发时间,所以在给出估期时一定要预留 buffer,有一个简单的公式可以参考:

  • 需求非常明确并且项目很熟悉:自己的估时*1.2
  • 需求可能会变并且项目很熟悉:自己的估时*1.5
  • 需求可能会变并且项目不熟悉:自己的估时*2

这只是我的一个简单经验,并不一定适用于每个人,根据自己的情况可以参考

向上暴露风险

如果估期实在是很长,和业务方的预期产生了差异,一定要向上暴露风险,或许有的技术同学会选择默默承受强行缩短工期,但是这样做是埋下了隐患。如果项目按时上线还好,如果项目延期那责任肯定是背定了。

所以估期一定要如实给,有风险可以向上暴露和沟通,估期长不是不靠谱的体现,没能按时上线项目才是。

类似百度网盘针对账号限速是怎么实现的呢?

Posted: 10 Oct 2021 09:28 PM PDT

比如单账号限制是 100kb/s 。 如果下载一个文件,那么下载速度就为 100kb/s 如果同时下载 10 个文件,那么下载速度就平均成为了 10kb/s

但是我看 go 语言 golang.org/x/time/rate 等别的限速库都是针对单 tcp 连接限速的。 不太清楚怎么根据建立的连接数实时改变每个连接的下载速度

想知道有阅读类 app 针对 ltpo 做优化吗,比如停止滑动时瞬间帧数掉落到 1hz 这样的

Posted: 10 Oct 2021 09:19 PM PDT

xdm, win10 企业版升级到 21H1 是不是有很多毛病

Posted: 10 Oct 2021 09:02 PM PDT

1.chrome 莫名其妙地频繁无法加载网页,然后无响应,最后只能结束进程 2.ps 也会时不时直接被关掉

i5-6500,ddr4 的 16G,讲道理不应该呀...都是之前 C 盘不够,重装系统,索性就升级上去了

请教一个 nginx 反向代理 sub_filter 正则替换字符串的问题。

Posted: 10 Oct 2021 08:50 PM PDT

各位大佬,用 nginx 反向代理的时候,我想用 sub_filter 将字符串 startNumber="84848686" 整个替换掉,但是引号里面的数字是动态的,正则替换规则该怎么写啊?

实在不知道这个替换该怎么些,鼓捣了 2 天都没搞定,跪求各位大佬指教。

springmvc shrio http https 跳转问题

Posted: 10 Oct 2021 07:31 PM PDT

公司老项目登录升级,基于 springmvc 与 shiro 实现的。系统登录要跳到集团的一个登录页,那边的链接是 https 的。controller 中登录方法返回的内容是:return "redirect:"+targetUrl;其中 targetUrl 是登录页链接,https 的。但是项目启动,如果配置 targetUrl 为 HTTPs,会导致 shiro 一致重复调用登录接口,换成 http 就不会了,搞不懂为啥,有大佬能提供点思路嘛?

正式版可用 无第三方软件将咖喱味右键还原

Posted: 10 Oct 2021 07:03 PM PDT

恢复 win10 风格
reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
reg.exe add "HKCU\Software\Classes\CLSID\{d93ed569-3b3e-4bff-8355-3c44f6a52bb5}\InprocServer32" /f /ve
//d93ed569-3b3e-4bff-8355-3c44f6a52bb5 这条对应资源管理器最上面的一条 bar,如果只是不想要新右键可以不加
还原 win11 风格
reg.exe delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f
reg.exe delete "HKCU\Software\Classes\CLSID\{d93ed569-3b3e-4bff-8355-3c44f6a52bb5}" /f
执行后任务管理器右键重启 windows 资源管理器即可,已在正式版验证有效

补充点迫害强迫症的信息:改后阴影还是直角,和圆角的菜单对不上

Android 如何屏蔽键盘快捷键?

Posted: 10 Oct 2021 08:27 AM PDT

迫于没钱,Android 设备接键盘远程 RDP 连家里电脑用,发现像是 Alt+Tab 这些会变成 Android 自己的最近任务,常用的组合键好像都接管地七七八八了,有什么办法能禁用 Android 接管组合键吗? 有 Root 有 Xposed 有 Magisk 。

No comments:

Post a Comment