V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  galaxyyao  ›  全部回复第 1 页 / 共 4 页
回复总数  63
1  2  3  4  
2020-12-20 15:11:51 +08:00
回复了 VinsonGuo 创建的主题 职场话题 原来印象笔记招聘的工程师薪资这么低
虽然印象笔记也有 markdown 笔记,但难用得一逼,而且多年来不思进取,最根本的笔记的体验几乎没有改进。虽然已经积累了上百篇技术笔记,还是在会员到期后决定弃用了。
现在公司内反正也不允许用云笔记软件,本地用免费的 VNote 体验都比印象笔记好得多。
用过 showmebug,很推荐,并且还在不断进一步改进中
2020-09-04 17:55:29 +08:00
回复了 tomari 创建的主题 macOS 最适配 macOS 的机械键盘有哪些?
最近看之前的帖子买了阿米洛 108 静音版。自己眼拙以为是蓝牙的结果买了有线版的。按键手感和声音都相当不错。
但 f5 和 f6 按键的 bug 很让人不爽,不管系统设置里怎么改都是调键盘灯光,在程序调试的时候简直抓狂。必须找客服下载一个刷的工具,找一台 windows 的电脑重刷,然后才能修复。
同意楼上。能从回复里感觉到 lz 的坦诚理性和克制。下周开始也要视频面试了,吸取了不少教训
2020-02-14 16:55:03 +08:00
回复了 bbao 创建的主题 程序员 大家所在的公司都使用什么 RPC 框架?
这个引起争执的主题引出了几个问题。说一下我的理解
# 1 到底什么是 RPC
根据 wiki 上[Remote procedure call]( https://en.wikipedia.org/wiki/Remote_procedure_call)的定义,RPC 就是像调用本地方法一样调用共享网络上的方法( procedure 理论上应该被翻译成过程,但这里个人更倾向于翻译成方法,也符合 OOP 中 RMI 中的 M 的本意)。
可以看到这个定义里没有规定协议,所以 HTTP 方式的 spring cloud feign,我认为也可以被认定为 RPC。虽然 feign

# 2 RPC 的实现
RPC 的实现有语言限定的,诸如 Java RMI ;也有通用的,例如楼上提到过的 SOAP,Google 的 protobuf (用于 gRPC ),Apache 的 Thrift 和 Avro 等。这里的实现我理解和协议还是有差别的。
Hessian 在有些网站上也被认为是 RPC 实现,但 wiki 上的定义是二进制 web service 协议。

# 3 RPC 框架
RPC 框架我理解是对 RPC 实现的封装。
我理解 gRPC 和 thrift 本身就对 rpc 实现封装得不错了,所以没有一个专门的框架再包装一层。
根据 github 上的[RPC 框架 topic]( https://github.com/topics/rpc-framework),RPC 框架还包括腾讯的 Tars ( C++),蚂蚁的 sofa-rpc ( Java ),微博的 motan (有 go 实现)。
hprose 是跨语言的,在 Github 上有各种语言下的实现。
Dubbo 这种全家桶中也有 rpc 的部分,但称为 rpc 框架总觉得有点别扭。
Github 星数比较高的 Java 语言 RPC 框架还有 NettyRpc,Jupiter,xxl-rpc 等。

# 4 服务发现注册
主题里提到的 zk,etcd,eureka ( LZ 拼错了),从分类上术语服务发现注册,我认为不能混在 RPC 里讨论。
服务发现是辅助与 rpc client 找到 rpc server,但并不是 rpc 里必不可少的部分(如果不考虑高可用的话)
2019-10-09 16:44:47 +08:00
回复了 Kontinue 创建的主题 程序员 k8s 怎么入门,感觉也很不友好
非常推荐极客时间里的《深入剖析 Kubernetes 》( https://time.geekbang.org/column/intro/116 )。
极客时间里的我买过最值的就是这门了,讲得非常深入简出。
建议搞几台虚拟机,基于 kubeadm 来搭一套双节点的环境,部署一套 nginx 静态网站,部署一个 mysql,基本就摸得差不多了。
根据课程我也自己写了一些学习笔记,可以参考:
https://galaxyyao.github.io/tags/kubernetes/
2019-10-08 21:39:23 +08:00
回复了 ooToo 创建的主题 Apple airpods 续航废了, 只能买新的吗?
2 代的买了 4 个月,突然右耳那只不发声音了,绿灯一直闪。今天去苹果店维修,倒也爽快换了只新的右耳的。但非高频使用下这个损坏速度。。。真的不像 1k+耳塞该有的。。。
2019-10-08 21:34:09 +08:00
回复了 jorneyr 创建的主题 程序员 大家推荐一个公司用的文档管理系统
@wolfan 自从被石墨企业服务忽悠过之后,看见这两个字就反感
2019-10-08 20:32:30 +08:00
回复了 jorneyr 创建的主题 程序员 大家推荐一个公司用的文档管理系统
内部搭 seafile 很不错,不过 office 预览要买。都是 markdown 文档的话也可以用 mindoc,但有些 bug
2019-10-01 00:06:51 +08:00
回复了 mornlight 创建的主题 酷工作 [附招聘]最近 Go 和 Java 招聘的一些想法总结
@mornlight 面多了之后就可以放平心态了。。。都是个缘分。不能最终成为同事表示缘分未到。面试官保持坦诚,至少可以让候选人进来后不至于因为心理落差而试用期走人。
有一次特殊情况需要一人一天面试四十来个外包开发,就是主要靠一道递归(阶乘)来筛选的。
另外问 DNS 原理一般只能作为 bonus 题。大多初级开发不涉及基础架构知识。他们开发环境涉及的微服务互调就只是通过 ip。。。不太会参与到 k8s 运维配 ingress,也不会涉及到配 dns 和反向代理。面试过一批外包前端,基本都没人能回答出自己写的代码打包完后部署到什么 web 服务器。
2019-09-30 23:36:51 +08:00
回复了 mornlight 创建的主题 酷工作 [附招聘]最近 Go 和 Java 招聘的一些想法总结
你找到了两个很容易问出基础能力的面试题:写斐波那契和简单问几句原理,帮你更容易筛出高质量的候选人,不应该开心才对。。。小公司就不要和大公司拼薪酬和稳定了,可以靠其他的来吸引候选人,比如团队氛围,能挑大梁而不是当螺丝钉,业务有意思等等
2019-08-31 17:44:17 +08:00
回复了 lowett 创建的主题 Android 1 加 7 的手机网速真是慢。 gs
一加 7 普通版新用户看不下去了,用 4G 测了个速 41.3Mbps。有一说一,一加手机除了没有 NFC 上海公交卡之外,其他体验都非常好
2019-07-18 23:03:39 +08:00
回复了 chenset 创建的主题 ACG 京阿尼, 京都动画. 总部火灾
看着死亡人数一直在上涨,痛惜到难以表述。。。愿逝者安息
2019-07-12 05:59:50 +08:00
回复了 leafiy 创建的主题 分享发现 拜托前端同学们不要再用正则验证手机号了
作为一个团队,出了这种 bug 都有责任,不管是开发测试还是项目经理。除了运维,谁也不可能把自己完全撇清责任。
再重复一遍,开发产品测试项目经理都有责仁。
但责任也分主次。如果这种需求设计纰漏的主要责任人甩给开发,就等同于将代码逻辑 bug 的主要责任人甩给产品一样可笑。
遇到这类问题会发火也是人之常情,但一般都是骂:“现在也是什么 s [哔] 也能当产品经理了。前端看到这种需求请往死里怼”。不骂产品反而骂开发,只会让人觉得:“不愧是产品,甩锅技术一流”
2019-07-12 05:12:04 +08:00
回复了 leafiy 创建的主题 分享发现 拜托前端同学们不要再用正则验证手机号了
因为自己是产品经理,说话时屁股就歪成这样子。。。
从我在两家公司遇到的情况来说,都是产品提的这个需求。不是产品文档上写着号码段,哪个开发不愿意只校验个长度?闲得蛋疼为了这事补单元测试?受苦的是写用例的测试,以及为了产品轻飘飘一句“那就放开呗”紧急发版本上线的开发运维。
就算开发真的没提醒一句,主要责任也是出出需求的产品。现在的产品闯红灯被车撞都要怪旁边人没拉一把了么?
2019-07-04 19:59:17 +08:00
回复了 lawsiki 创建的主题 职场话题 新招的前端能力不行,想让她走,如何委婉的告诉她?
一年多之前同遇到类似的情况,同人民广场,还以为自己穿越了。。。
当时新组建团队,第一次完全自己负责招聘,经验不足。自己写 Vue 也只是写过很简单的几个 Demo,于是也是从网上找了点 Vue 框架的问题来问,来应聘的妹子基本都回答出来了。看妹子的简历上写了 3 年前端经验,五六个项目经历,甚至还有 nodejs 和 angular 经验,于是就录用了。
但实际开始干活后,发现妹子的开发能力真的不行。也是对 Restful 完全没概念,提测的页面随便点点就是一堆 Bug,代码大段大段的 copy & paste。但人真的很努力,态度也很诚恳,是开发组里唯一一个主动周末来公司加班的。

就像楼上说的,临冬城公爵必须亲自行刑。这个人既然是我招进来的,我就必须负起责任。首先和她诚恳地谈了一次,把问题坦白和她说了。给了她改进的时间限制,明确的改进目标:独立写出质量过得去的前端代码。请资深前端这段时间内对她进行 code review 并提出详尽的改进建议。
但即使是这样,最终还是没法达到要求。人和人的学习能力的差别是真的很大。。。最终和她谈了一次,告诉她由于没法跟上团队,只能请她离开团队了。不过也给了她三周的时间,不安排工作,作为给她找下家的缓冲时间。也算是仁至义尽,好聚好散。

吸取了教训之后,以后招聘前端的时候也有了当场白纸写代码做算法题的环节。其实也是很简单的递归和数据结构的题目,加上改进了几轮面试问题,之后招聘到的就很靠谱了。
2019-05-17 18:25:02 +08:00
回复了 ynohoahc 创建的主题 程序员 docker 对普通个人开发者的作用,求指点
#### “因为每开一个容器都相当于多开了一个基础 linux 镜像, 然后再在这个基础镜像里跑 tomcat 服务”
在去看下 docker 原理吧。Namespace+Cgroups 的开销相比虚机的 Hypervisor+Guest OS 不知道低了多少了。
如果都使用的是同一个 tomcat 镜像,那么通过 overlay2,就算开 10 个容器,存储空间都只需要 1 份。

#### “用传统的 tomcat 在本地部署几十个 api 服务”
如果指的是 1 个 tomcat 上 10 个 webapp,那么的确是比 10 个容器占用的资源少。但就像楼上已经说的“ 10 个鸡蛋放在一个篮子里”,能承受 1 个 webapp OOM 导致所有 webapp 不能访问的风险么?根本不用说对每个 webapp 控制 Xms 和 Xmx 内存占用了。
如果指的是 10 个 tomcat,每个 tomcat 里一个 webapp,那么负载约等于 10 个 tomcat 的容器。但容器在编排,CI/CD 的简易程度,对环境依赖的灵活性,高可用负载均衡等等很多方面远胜。

#### 对于普通个人开发者
做私活的好处楼上已经说了。
另一个好处是如果应用需要依赖数据库 /redis/消息队列等等中间件,以前只有两种方案:要么是依赖一个公共基础环境,会遇到和其他人互相修改对方数据的冲突。debug 了半天发现原来是数据被别人改掉了这种恶心事情发生频率还是挺高的。要么是在本机搭,但如果是 windows/mac 开发机,还必须需要这个中间件在 windows/mac 上有安装包。
如果有容器,就本地 pull+run 一把梭,问题解决。
作为研发老大,连测试打杂的我都不干。。。
上班刷 V2EX+看看技术文章+写写 ci 的 shell 脚本
团队技术框架的稳定期不就是这样么
2019-03-28 18:46:54 +08:00
回复了 anzu 创建的主题 Java Spring Boot 一小坑浪费一下午,虽然解决了但还是不知道原因
比较奇怪的应该是为什么要把 Controller 方法标记为 private 吧。Spring 的开发估计没预料到会有人这么做吧。。。
我不记得哪个官方范例里曾经这么做过。

https://stackoverflow.com/questions/17573742/best-practice-to-keep-method-visibility-with-spring-controller-stereotype
这篇回答里有人提到虽然可以这么做,但会被 IDE 认为方法不被使用而标记为灰色,也会无法进行单元测试。
我也想不出将方法设为 private 有什么好处。如果 LZ 有什么特殊意图的话可以补充一下。

另外官方的范例是把验证注解放在实体类上的:
https://spring.io/guides/gs/validating-form-input/
对应 @RequestBody+POST 方法接收参数。以 LZ 的范例而言,name 中很可能包含特殊字符,放在 pathvariable 或 requestparam 中都可能会引起异常,所以从避免 bug 的角度,改为 @RequestBody+实体类验证的话会比较合适。(并不是说不能用 RequestParam )
我个人写的时候,RequestParam 一般只接收主键或 id 之类的单个参数,一般也懒得加校验了。查不出来资源就返回 null 对象也符合 restful 的设计。
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2720 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 15:20 · PVG 23:20 · LAX 07:20 · JFK 10:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.