V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sunxiansong  ›  全部回复第 2 页 / 共 2 页
回复总数  34
1  2  
2020-07-03 13:18:19 +08:00
回复了 PUBG98k 创建的主题 程序员 求个高手来画图.我感觉画图比写代码还难
2020-06-17 14:09:27 +08:00
回复了 crclz 创建的主题 Java 大家工作中的前后端是如何合作的?如何减少接口变更?
与其避免接口变化不如拥抱变化,让变化可控、可测试、可追踪

- 首先会有一份 api 风格说明,说明一般的通用的数据结构风格、错误处理、token 机制
- 后端通过 cli 工具导出后端模型到前端的 ts 结构,前端可以拷贝或直接使用数据模型。导出的代码也包含了可能的错误码、常量枚举
- 后端直接写 ts http 调用的代码,并附上最小可测试代码( jest 测试代码),在代码中标注文档(状态码、错误码等),这步其实主要是 route 标注,前端甚至可以直接复用 http 调用的代码
- 生成的 ts 数据结构和 http 调用代码放在 git 上,提交时填写恰当的注释标注 api 变更,这步主要是确保前端可以详细的跟踪 api 变动,前端可以 watch 文档工程追踪 api

- 时间充足的话,最好还是写足够的 api 集成测试


我以前还做过其他的尝试,在测试环境用 AOP 拦截请求,用 json schema 记录请求的 route/request body/response body,然后写到数据库里,再人工标注 api 注释,缺点就是首次请求之前不会有记录。
2020-06-12 13:58:26 +08:00
回复了 lancelock 创建的主题 Go 编程语言 有个 go 的问题,求解答
VSCode go 插件有个命令:Go: Add Tags To Struct Fields

不过缺点是支持 snake_case,不知道在哪里改

好在我找到 VSCode 有个插件 change-case ,可以方便的在不认风格间切换
2020-06-11 12:54:28 +08:00
回复了 gaigechunfeng 创建的主题 程序员 怒发一贴: go web 框架选哪个
echo 和 gin 中选了 echo

- 代码似乎更紧凑一点,看上去比较简单,比较好上手研究
- echo 的统一错误处理机制更方便
- echo 的 release 节奏比 gin 更频繁一点

-gin 的中间件更丰富一点,不过要加其他依赖,echo 自带了一些中间件
2020-06-11 10:04:06 +08:00
回复了 szzhiyang 创建的主题 Go 编程语言 Go 官方现已接管 VS Code Go 插件的开发
切到 gopls 应该有小半年了吧,几乎没做过什么配置,没遇到什么问题
2020-06-08 18:21:33 +08:00
回复了 shazh520 创建的主题 Java 大家在做单元测试的时候如何准备数据库环境?
测之前 docker 起一个,完了 autoRemove

缺点就是起停一个 container 差不多要 3 秒
2020-05-08 13:01:26 +08:00
回复了 xmge 创建的主题 程序员 一句话概括为什么学习 go 语言
启动快,内存门槛低,单元测试方便,强类型,编译型,直接打包二进制,简单 花里胡哨的东西少

没错我原来主要写 java,js
macOS

esc
cmd+w (close current editor)
cmd+p (open file)
cmd+p ->@ (go to method)
cmd+p -> : (go to line)
cmd+o (open)

open/close terminal
cmd+z (...)
cmd + / (common)
cmd+f(current file search)
cmd+k -> w (close all editor in group)
cmd+k -> cmd+q (last edit location)
cmd+r (open recent)
cmd+b (cursor left)
cmd+1~9 (focus group)
shift+option+down (duplicate line)
option+up/down (move line up/down)
cmd+d (select next match)
cmd+l (select line)
cmd+option+up/down (multi cursor)
ctrl+1~9 (focus editor in group)
ctrl+tab
f2 (rename)
f12
ctrl+j (join line)
cmd+n (new window)
cmd+=|- (zoom in/out)
cmd+left|right
cmd+up|down

cmd+shift+w (close window)
cmd+shift+k (delete line)
cmd+shift+p (command)
cmd+shift+e (explorer)
cmd+shift+g (git)
cmd+shift+f (files search)
cmd+shift+l (select all match)
cmd+shift+[ , cmd+shift+] (previous/next editor)
cmd+shift+m (problems)
cmd+shift+| (go to bracket)
cmd+shift+f (format)

ctrl+shift+right|down (split window)
2020-04-17 11:44:57 +08:00
回复了 NoKey 创建的主题 Java 你在 Java 里用 try-catch 多不?
插一下嘴。。

之前写 java,try catch 用的不多,反正有毛病都抛出去。

现在写 go, 各种
```go
if err != nil {
return err
}
```
遇到返回结果有 error 的都要这么来一下,复杂点的函数能来好几次

觉得 java 的话,对于需要特别识别的错误,可以检查下,不然就直接抛出吧,大部分正常流程能走通就行

有些函数声明的异常甚至几乎不会出现,追求完善的错误处理覆盖是不现实的,还不如完善错误监控处理机制,避免隐式错误处理、错误遗漏,定期的检查错误情况再完善代码

如果只是不喜欢 try catch 风格,那自己搞一套错误-结果返回方案就行
2020-04-07 13:16:31 +08:00
回复了 noble4cc 创建的主题 Go 编程语言 golang 开发者大部分是从 PHP 和 Python 转过来的吗?
java 转 go +1
之前写了 5 年 java,现在用 java 写点简单的东西还行,大型系统不想碰 java 了。
2020-03-27 17:05:40 +08:00
回复了 iqingqian 创建的主题 程序员 求个思路,实现 BTC 离线签名,进行广播交易
@iqingqian

如果没有兴趣,不干币圈这一行,那就没有必要花费精力研究加密货币
加密货币涉及到 加密算法、共识机制、P2P 网络、记账模型等等,和一般的 CRUD 应用差别很大,入门前期需要花费大量的精力研究,可能还需要一定的数学、密码学基础。而且还在不断的衍进,要不停的学习跟进。
另一方面,虽说区块链现在是风口,国家也在推,但加密货币的前景还是不太明了,特别是公链项目有很多坑、泡沫。
年轻的话可以多尝试,求稳的话还是找个靠谱的公司、项目。
2020-03-19 13:17:13 +08:00
回复了 iqingqian 创建的主题 程序员 求个思路,实现 BTC 离线签名,进行广播交易
如果没有接触过比特币,也没有兴趣,不干币圈这一行,那建议就放弃吧。

这个是典型的冷钱包模式,核心就是存放私钥的设备不联网或者高度网络隔离。那么只要把创建好的交易给存储私钥的设备签名,完了弄上链就行了。创建交易最简单的可以用钱包 RPC,然后传给冷钱包签名(离线的话思路也不少,消息订阅、手工 USB 拷贝、相机扫描等等),签名好了再广播出去。

和节点通信就是一般的 JSON RPC, 签名麻看你用什么语言,很多语言都有现成的签名库。
2020-02-14 12:43:09 +08:00
回复了 yongliu 创建的主题 MySQL 大家在进行数据库设计时,一般是用的什么工具?
postgresql, 只用 pgAdmin 来生成 SQL + 手工调整
2020-02-10 12:46:46 +08:00
回复了 cs419 创建的主题 程序员 用 mac 当主力的朋友们,有什么重要的理由吗
其实吧,这个年头,每个系统都发展了好多年,很少存在说有不能解决不能忍受的问题。

早年用 windows,后来换成 mac,前一段时间用 ubuntu 搞了下,发现其实也没什么障碍。

现在主要用 mac,切换环境嫌麻烦(不然还是想用 ubuntu 补充下),另外涉及到 iOS 开发必须用 mac 这个没办法。
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   946 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 22:41 · PVG 06:41 · LAX 14:41 · JFK 17:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.