2019-07-17

14 篇热帖

1. 今天从同事口中听到一个词:希哈值

下午的时候正在干活,突然听到同事不知道对着谁在喊:“是哈希值不是希哈值”!!

说真的我听到的时候都震惊了!!这绝对可以入选我今年听到的最震惊的词汇。希哈值!!苍天呐我这身边都是些什么垃圾同事啊,正好过段时间也准备离职了,赶紧离开这帮垃圾玩意吧。。。

2. 山大学伴事件中最缺失的是山大男生的声音

学校公关水平不行,但起码是发过声了,山大女生遭受了很多平白无故的抹黑,网络上也有零星看到女生表达意见。唯独是没看到山大男生出来说话,既没有对学校的态度,也没有对自己学校女生、留学生的态度,也没有针对网络暴力的态度。也许零星有一些,但我没有找到,有 V 友看到过希望能发个链接看一下。其实最期待的是能看到山大男生的声音。

3. 90 后医学转行程序员上海买房经历
一、前言背景:

我之前莫名其妙火了的帖子,有人问买房细节

学医转做码农两年了,下一步该咋办 https://www.v2ex.com/t/578727

再参照当年毕业 offer 帖子
2017 届 offer 选择咨询(医院 /银行 /互联网) https://www.v2ex.com/t/308776


二、正文分享:

因为家里过于穷(上八代全农民,我是唯一突破初中学历的),首付 200 来万都是自己挣来的:
1.大学创业(已注销),联合了几个家里有关系的二代,我出力他们出钱。伪全栈,为了省钱(主要是接学校的外包跟熟人介绍的小公司外包,还有一些医疗项目),屯了小几十万吧。
2.写了几个小众 app (目前已经下架) 行情好,月入 2 万多,很多年了,也有几十万。
3.借钱,按年化百分之 6 跟好朋友借。


17 年毕业我来了上海,但是我们都是硕士,上海 985 硕士送户口。

老婆家也没钱。但是上海工作后,两个人公积金加起来一万多了。按不浪费原则,18 年年初赶忙就买了 500 多万的房,为了赶上利率 9 折。

月供减去公积金,每个月只需还 5000 多元。

一年多了,现在我去看了下绿皮,我家房子涨了 40 多万吧,现价 600 多万。

三、生活圈子:

因为原生家庭(上学时候全班家里最穷,我是班长我知道),一度比较自卑。同学 6 成在美帝,5 成博士。在上海北京的,百分百都买了房。自己收入算中等偏下。


四、后续:

自己还在努力提高自己,工作之余还有点兼职,一个月 3000 多保底,还在持续上升。
6. 到手工资越来越少了。。

一月入职新公司,避税,基础工资 2420,奖金 14000,2、3、4、5 月还能拿 15500 多一点,上个月 15000 多一点,这个月直接变成 14765 了,个税交了 1000 多,交这么多税有卵用啊。

我上家公司税后还 16,基础工资 4000,公积金还每月 600 呢,就是加班多,这家不加班什么都忍了,现在感觉不到 15 太坑了

7. 为什么银行的 App 都这么难用。

国内银行 App 都是大学生做的吗,按理说银行有的是钱,完全可以做出不输微信 /支付宝的 App,为啥做出来的都是这个 shi 样。唯一能用的恐怕就是招行的。

8. 关于博客《编程随想》的一点随想

编程随想这个人(或团队)凭借高超的网络匿名技术隐藏着自己的踪迹,一直在外面发表一些对我们国家有害的言论,我一直在想有没有什么办法能够把他揪出来呢?据我看他博客所知,他都是在虚拟机内部做各种操作,虚拟机内的所有网络流量连接物理主机的 VPN,VPN 连接 Tor 网络。希望大家抛开政治立场,给我一些纯粹的技术建议。

9. 新人 AMD 装机求助

最近想要涉足一下装机这个领域,但是毫无经验,希望大佬能够推荐一个 8k 左右的配置单,让我研究参考一下

10. 受不了 V2 的回复了,自己写个油猴子脚本,希望能帮到大家。

油猴子脚本:V2EX 添加回复引用

功能介绍:

  1. 回复引用
  2. 正常显示新浪图床的图片

效果图:

v2 回复.gif

业余 JavaScript 选手,如有不足望轻喷。

11. C#打底,简历写了前端 Angular,TS,Ionic,后端会 Node,Mq,WbSockt,能开发 Exe,Apk 程序,结果被面试官公开处刑。。。

前几天面试某公司的时候,简历上密密麻麻的一片还是让我十分膨胀,在那跟面试官疯狂吹🐮🍺,前面的部分都差不多,自我介绍,公司职务,项目分析。


由于之前是小公司实习的,所以还假装作随口一说的样子提了提自己在 GitHub 上写了个 Angular+AntDesign 整合的通用后台模版,但是他并不 care。
自我吹🐮🍺结束后,我就像个待宰的羔羊一样到了被他任意解剖的环节。
“你简历上说项目都是独立开发,并且前后端分离,使用了 MQ 处理聊天消息,为什么要这样做呢?”
“因为使用前后端分离可以让前后端开发进度不需要受到对方进度的限制,分工更明确,使用 MQ 是考虑到大量聊天消息同时发往处理器的场景下产生高并发问题的解决方案。”
“那你说说为什么选用 RabbitMQ,RabbitMQ 相对于其他 MQ 的优缺点是什么?”
“ RabbitMQ 并发能力强,性能好,延迟低,社区活跃度高,出了问题比较好解决。”
“那你详细说一下 MQ 做了什么事情,为什么可以解决高并发问题?”
“ MQ 相当于一个信息交换器,有出口和入口,在信息交换的过程中,生产者和消费者不需要进行直接接触,只需要通过 MQ 进行信息交换,生产者的变更或消费者的变更完全影响不到整个业务的流程,同时在高峰期间可以多个服务器进行读取 MQ 的数据以保证信息不会因为某台服务器挂掉直接 GameOver。”
“那你再说说 MQ 工作原理,它的底层是怎么工作的。”
“......呃....应该是类似于一个单向链表的结构?遵循先进先出原则.....”

这尼玛不对劲啊,怎么跟以前的面试官不一样,一个 MQ 问这么深进去我知道个🔨啊???
“那你说说 MQ 的底层实现是怎么做到的?”

我突然意识到了不对劲,平常咱面试一说不行,或者面试官发现你对这块不了解,那必须得跟你换个问题让你不太难堪,结果他居然体贴的盯着死穴一顿猛攻毒打,我顶不住啊。。。。
“。。。。。。不太了解。。。”

我从刚开始面试的十分膨胀到现在像个被戳破的气球一样耷拉着头挤出一句话。我看见了他嘴角微微一抽,可能这就是恶魔的微笑吧。 我狠狠地深呼吸了一下,喝了口‘亲切’的面试官倒给我的斐济矿泉水,等待着面试官的狂攻猛打。。。
“ Angular 的 AOT 编译跟 JIT 编译有什么区别? AOT 的坏处是什么? AOT 底层是如何实现的?为什么 AOT 编译不支持箭头函数?”
“ Observables 和 Promises 的差别是什么?分别是如何实现的?底层原理是什么?”
“ TypeScript 中的泛型和接口最后会转化成什么? TS 是强类型语言吗?怎样把 JS 库转化为 TS 库?命名空间和模块的区别是什么? TS 的重载和 C#的重载有什么区别?是如何使用 JS 实现的重载?”

我脸绿的像个比克大魔王,憋了半天把我仅有的一些知识挤了一丢丢出来,当然,我相信他并没有得到满足,继续在追问。
“ Ionic 是如何跟手机交互的? Ionic 作为一个 UI 库底层做了什么东西?为什么可以打包出一个 APK 文件?”
“呃,应该是调用了 AndroidSdk 对 Angular 项目进行打包,通过调用 Angular 内的 Cordova 库的 API 跟手机进行交互?”

我猛地一个激灵,这玩意我看过啊!赶紧答上来不要显得我太 LOW !然而,我看到了他微微一笑,坏了!要出事了!
“ Cordova 作为一个 JS 库是怎么对 Android 的 API 进行调用的?为什么可以对 AndroidAPI 进行调用?如何在不使用 Cordova 的情况下页面调用 AndroidAPI?”

果然,素质三连又开始了,怎么用?是什么?为什么?我尼玛面的是.NET 后端,我为什么会被问到这种问题啊???我不就写到简历撑撑场面???? 就算我内心一万匹羊驼奔过,但我的舌头已经开始自我运转了,连续的说出了大量危险词汇“嗯。。。我感觉。。啊。。我认为。。。可能。。。。” 每当我开始自闭三连的时候,我都能看到面试官脸上由内而外散发出的憋笑面庞(参考美人鱼报警的场景)(跟我以前叼我那学习太不好的朋友是一样的快感,TONY🐴)
“那这样吧,给你道算法题,你来手写解法吧”
“彳亍....口巴....”

我已经被一顿闷棍打的头晕脑胀直接懵逼,看了看手上的题目,两眼无神,瞳孔涣散,脑细胞已经开始拒绝运算这道题了....
“我出去上个厕所,等会回来”

面试官看我生无可恋,可能是想给我个冷静的机会,便开门走了出去。 30 秒之后我的听觉神经似乎听到了门背后面试官传来的欢快笑声,大概是在跟同事吐槽 HR,找的都是些什么谐星憨憨来面试。。。
“做完了吗?”

面试官进来后盯着我看了 30 秒,让我好不容易运转的脑细胞再度罢工。。。 我双手一摊,用了三种方式表达我写不出来这道题。。。
“好吧,这边面试结束了,我们会在 3 个工作日内通知您的面试结果。。。。”

我走在广州的街道上,感受着 36°的太阳,却感觉比空调房内舒服无数倍。。。。而在极度的舒爽下,我开始思考起了人生的哲学。我是谁?我在哪?我为什么会走在大街上?刚才我是在面试吗?好像不知道要做什么了,要不抽根烟?等下去干啥呢。。。。。
12. 监视我自己的手机:数据都去哪儿了?

监视我的手机:数据都去哪儿了?

“现在的人几乎是全部透明的。我心里就想,马化腾肯定天天在看我们的微信,因为他都可以看的,随便看,这些问题非常大。” —— 李书福

日常使用的手机可能比想象的更加活跃,当微信聊天、淘宝购物、抖音看视频甚至是喵的手机待机啥也不干,某些 App 都会悄悄地与服务器交换着数据。这些数据包括微信聊天记录、地理位置、通讯录、通话记录、QQ 消息,甚至短信 内容...

我一直想知道我的数据都去了哪里哪些 App 在源源不断上传数据数据被哪些公司搜集了

前一段时间,浏览过一篇国外的博客《Tracking my phone's silent connections》,文中作者 Kushal 使用 WireGuard 代理的方式,监控自己的手机 1 个星期,截获手机与服务器之间的所有请求,最后统计了手机到底悄悄地在和哪些公司的服务器进行连接。

受到 Kushal 的启发,我决定使用部署 ss 的方式截获我个人的手机数据。

监控方案

实验设备

  • 日常使用的安卓手机 x1
  • 国内某云服务器 x1

代理方案

手机的数据都是与不同的服务器进行着连接,如何获取所有的连接?首先我想到的是手机要通过 Wi-Fi 路由器上网,那么如果在路由器端截取数据包,会比较容易。但是无法获取手机的移动基站流量。

于是在 1 台云服务器上搭建了个代理服务,手机客户端设置为全局代理连接 VPN 服务器,就可以在服务器端获取所有的数据请求。

部署服务

为了保证上网访问速度,提升网络体验,推荐选择国内的服务器,代理服务器首先安装 Docker

$ sudo apt-get -y install docker.io

启动 ss Docker 容器

通过阅读 ss 的文档,可知在启动 ss 时只需要加上 -v 参数(Verbose mode)即可输出详细 Log。同时使用 tmux 让服务在后台运行,将输出以追加的方式(>>)重定向到 logs.txt 文件。

$ tmux
$ sudo docker run -t --name ss -p 9000:9000 mritd/shadowsocks -s "-s 0.0.0.0 -p 9000 -m aes-256-cfb -k yourpassword --fast-open -v" >> logs.txt

手机客户端

在手机端安装 ss 或者酸酸乳客户端,配置代理服务器地址、端口、密码与加密方式,代理模式设置为全局代理。

然后在服务器端,使用 tail 命令从指定点开始将从文件写到标准输出,显示实时 Log,服务搭建成功

$ tail -f logs.txt

当手机使用微信时,记录的 Log 日志如下

数据处理

DNS 域名解析

DNS(Domain Name System),翻译过来就是域名系统,是互联网上作为域名和 IP 地址相互映射的一个分布式数据库。获取到的记录大多数是域名,需要先解析成 IP 地址

import socket
def domain_to_ip(domain):
    return socket.gethostbyname(domain)

例如,解析 www.baidu.com 的 IP 地址

domain_to_ip('www.baidu.com')
'14.215.177.38'

IP 地理数据库

推荐使用 ip2region,一个开源的 IP 到地区的映射库,具有 99.9% 准确率,提供 Binary,B 树和纯内存三种查询快速搜索算法。

>> result = ipgeo.find('www.baidu.com')
>> print(result)
{'ip': '14.215.177.38', 'city_id': 2140, 'country': '中国', 'province': '广东省', 'city': '广州市', 'operator': '电信'}

保存数据

df.to_csv(out_csv, index=False)
print('saved to {}'.format(out_csv))

数据可视化

经过十多天的记录,俺一共记录了 280059 条记录

接下来使用 Pyecharts 对数据进行可视化。Echarts 是百度开源的一个数据可视化 JS 库,而 Pyecharts 是一个用于生成 Echarts 图表 Python 库。

主要的互联网公司

从上图可以看出,俺的安卓手机(安装了谷歌服务),在国内的网络环境,请求次数最多还是 Google。

然后就是日常使用的微信和 QQ 了。由于平时会看 B 站视频,所以 Bilibili 排名第三 orz...

我手机安装的是 QQ 输入法,但是去往 sougou.com 的请求居然有 1952 条,查看了用户协议才发现 “ QQ 输入法”是经腾讯公司认可,由搜狗公司发布的客户端软件。

还有像美团、高德地图这样的软件,平时并不怎么频繁使用,网络请求却异常地活跃,不知道偷偷摸摸干着啥。

夜间活动排行

过滤出凌晨 00:00 ~ 06:00 时间段的活动,可以发现去往 *.qq.com 的连接始终是最多的。

全球分布

国内各省份分布

可以看到俺的流量大多去往了广东、上海和北京这样的地方,台湾这么高的原因是谷歌的服务器在那边,DNS 解析谷歌的域名都指向了台湾。

电信运营商

服务器端口统计

其他

在一加手机的网络请求中,发现了一些发往 oppo 服务器的请求,看来不光硬件由 oppo 代工,连软件也是。

[('epoch.cdo.oppomobile.com', 208),
 ('gslb.cdo.oppomobile.com', 38),
 ('istore.oppomobile.com', 38),
 ('opsapi.store.oppomobile.com', 34),
 ('api.cdo.oppomobile.com', 22),
 ('message.pull.oppomobile.com', 21),
 ('st.pull.oppomobile.com', 13),
 ('cdopic0.oppomobile.com', 9),
 ('newds01.myoppo.com', 9),
 ('httpdns.push.oppomobile.com', 4),
 ('conn1.oppomobile.com', 1),
 ('iopen.cdo.oppomobile.com', 1)

最后

吉利控股集团创始人、董事长李书福曾说 “现在的人几乎是全部透明的。我心里就想,马化腾肯定天天在看我们的微信,因为他都可以看的,随便看,这些问题非常大。”

完整代码

https://github.com/wangshub/tracking-my-phone

  • 如果需要更为详细的数据,可以考虑使用 mitmproxy 代理,能够抓取 HTTPS 数据,并提供 Python API。

参考链接

13. 突然想买个 beats x 求打醒!
虽然 beats x 降价比较狠,可是还想入一只。
现在在用 AirPods,16 年底刚出的时候买的,现在有两个严重问题

1、耳机续航严重下降,连续使用几乎一个小时都撑不到。
2、带半个小时左右耳朵就开始疼。
还有个问题 无降噪功能,在地铁上就是个装饰,虽然开很大声可以听清,但是对耳膜伤害还是不小的。

想入 beats x 理由
1、价格优势。
2、入耳式,虽然没降噪功能,但是可以物理隔绝一部分噪音,当然我也不知道效果怎样。
14. CPU 比较

准备组装一台电脑,然而平时对 CPU 没有什么关注。请教以下两款:

英特尔( Intel ) i5 9400F 酷睿六核 盒装 CPU 处理器 https://item.jd.com/100002657042.html

AMD 锐龙 5 2600X 处理器 (r5) 6 核 12 线程 3.6GHz AM4 接口 盒装 CPU https://item.jd.com/6902454.html

大概会玩一点主流游戏外加撸代码。哪一款更好一点啊?或者哪位大神能给点分析啊?