V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  thevita  ›  全部回复第 1 页 / 共 4 页
回复总数  77
1  2  3  4  
你就说能不能用吧,会影响赚钱速度吗
1 天前
回复了 raysaii 创建的主题 程序员 这个年过的,真不舒服
不说不就行了,我就重来不说工资,问就 5000
问工作就失业了
11 天前
回复了 Deplay 创建的主题 Windows 巨硬,我真服了你
小问题会源源不断的,毕竟“敏捷”了嘛,,

我现在用 win10 还得时不时 restart 下 explorer 呢,不然卡的不行
没这么复杂,也没有谁正确一说,说到底取决于你要传递给调用者的 “语意”
如果你的 API 是标准的 rest ,即 对 “资源” 的 curd ,那么这个时候是能跟 rest 的语意完全匹配的(其实大部分时候都是这样的 api )

但事上总还是有一些再这之外的复杂一点的逻辑, 要么就 自己在业务模型上封装各种错误,要么就全局封装一个,我理解这是一种在 rest 之上的具有业务语意的扩展而已

---


@swulling
我感觉....,上一个应用我就把服务的错误和资源相关的放 http status ,把 某些业务错误 放 body 了,,这样应用可依据具体情况决定是否处理,怎么处理,当然本身也不一样,前端应用业务逻辑也很重的原因
比较适合些 PHP
----
没有看不起 PHP 的意思,PHP 是最好的语言
299 天前
回复了 2696284032 创建的主题 Go 编程语言 Go 语言从入门到放弃
放弃就不要发出来了!!
308 天前
回复了 magic3584 创建的主题 程序员 到底应该怎么去架构?
@magic3584 没关系,我也工作马上八年了
仅仅是个人最近的感悟
---
不知道你有不有这样的体验:突然某一瞬间,你现实面临的问题 /状况 和以前看的书能对应起来了,当时看不懂的一瞬间豁然开朗了,

认知上有关 信息带宽 的概念,一个人接受新信息输入是与自己当前的认知状态有关的,只能高效的接受 信息密度在一定一定范围 /一定领域 内的知识,这就是为什么有的书看起来那么累的原因

适当选择相对高于自己水平(这个水平没有褒贬之分,抱歉我没想到合适的词)的书,让自己处在带宽相对搞的状态,有助于维持自己持续性的学习能力

对于看起来吃力的东西,也不用因为看不懂就失去信心,妄自菲薄,比如你一段时间回来看,相信你就回有更深的体会。

当然对于技术类的内容,我还是建议应该适当多 push 一下自己。
309 天前
回复了 magic3584 创建的主题 程序员 到底应该怎么去架构?
这种情况就是 代码写得太少,理论看得太多
---
看不懂 /难理解的时候 跳过就行了,该懂的时候自然就懂了
309 天前
回复了 kaiger 创建的主题 Linux 国内外流量分流的解决方案(系统级别)
@thevita 不过 如果要这样的话,干嘛用 ipset 呢,,23333
309 天前
回复了 kaiger 创建的主题 Linux 国内外流量分流的解决方案(系统级别)
context: OP 明显是想用 这个 PandaVPN ,刚去看了下这个东西的文档,应该有提供 OpenVPN 模式,不过这时候会全流量走 vpn, OP 可以自己 通过 调路由表+iptables 的方式分下流,应该可以?
---
如果还是你自己写的方案的话,你现在缺的是一个 东西 帮你把 packet 解析 并发送给代理的角色,
可行的方案可以用 clash 大概如下:

1. clash 的作者提供一个不开源的版本 叫 clash premium, 包含一些高级功能,提供 TUN 模式来转发流量
2. 用这个 TUN 模式, 代理上游设置成 PandaVPN 的代理端口, 然后你的 iptables 规则把流量转发到 clash 加的 tun interface 上去(应该叫 utun 之类的)
309 天前
回复了 kaiger 创建的主题 Linux 国内外流量分流的解决方案(系统级别)
如果如你所说, 是用 SwitchyOmega 的话, 本地监听的 8080 端口应该是个 http/socks5 的代理服务, 直接让 iptables 把 packet 扔过去是用不了的,请确认下

如果 PandaVPN 这个 真的是个 vpn 一般会有一个 vif ,你可以通过 iptables 把 packet 扔给对应的 interface
309 天前
回复了 Trinity888 创建的主题 程序员 大家如何做甲方关系呀?求教
降价
啥额外软件都不用:
A: execute `ssh -N -D 1080 B`
A: another shell execute `pip install <package-name> --proxy '127.0.0.1:1080' `
恭喜你,发明了 360 的核心技术,不过 因为 md5 可以伪造, 所以也许需要一个更好的摘要算法,或者像 360 一样 多个摘要同时用
----
现实中还是没这么简单,要维护这个表,大部分公司都做不到,而且查杀也是多种手段并用
330 天前
回复了 LxnChan 创建的主题 Linux Ubuntu 如何永久修改 MAC 地址?
永久的话,换网卡
其实如果只是为了解决 "频繁的沟通接口字段细节", 可以一步步来比如
1. protobuf-over-http
2. 用 gRPC-Gateway, grpc 和 rest 共存
1. 最大的劣势就是会不停有人问:"为什么不用 http"
2. 调试确实不方便,工具链+人员培训
339 天前
回复了 blue7wings 创建的主题 Go 编程语言 Golang 如何使用 struct 泛型?
@janxin

不是的,不是实例化 Stringer 类型

那个 binary 的符号表如下(过滤了下)

Show 对 A B 两个类型有两个实例

[![HvvkV0.jpg]( https://s4.ax1x.com/2022/02/21/HvvkV0.jpg)]( https://imgtu.com/i/HvvkV0)
339 天前
回复了 blue7wings 创建的主题 Go 编程语言 Golang 如何使用 struct 泛型?
@ZSeptember 测试了下,应该是支持的,只不过很鸡肋,貌似没啥卵用。

```
package main

import (
"fmt"
"runtime"
)

type A struct {
AID string
}

type B struct {
BID string
}

type AB interface {
A | B
}

func Show[val AB](v val) {
pc := make([]uintptr, 10) // at least 1 entry needed
runtime.Callers(0, pc)
f := runtime.FuncForPC(pc[0])
fmt.Printf("%s => %x\n", f.Name(), f.Entry())
fmt.Println(v)
}

func main() {
a := A{AID: "aid"}
b := B{BID: "bid"}
Show(a)
Show(b)
Show(A{AID: "test"})

}

```

=====
main.Show[...] => 108b0a0
{aid}
main.Show[...] => 108b280
{bid}
main.Show[...] => 108b0a0
{test}
=====

如上, A, B 两个类型,展开成了两个,Show 函数, 不过 貌似 v val 在 Show 里面什么都做不了,如果要转型成 A 或者 B 需要用 反射,要这范型何用。

请哪位大佬解惑
339 天前
回复了 blue7wings 创建的主题 Go 编程语言 Golang 如何使用 struct 泛型?
@janxin

func Show[val AB](v val) {
fmt.Println(v)
}

func main() {
a := A{AID: "aid"}
b := B{BID: "bid"}
Show(a)
Show(b)
}

----
约束应该是可以这么用的

还没认真看过 go 的范型,所以不是很了解

大概逻辑是,范型展开的时候,需要根据具体的 代码(及 调用 Get/Show 的代码)中的类型信息( concrete type )进行约束检查,并展开成 concrete type 的代码, 不能用具体返回值来推断 函数返回类型 不然如下代码应该怎么办呢

----
func FuncA[val AB](yes bool) val {
if yes {
return A{
AID: "aid"
}
} else {
return B{
BID: "bid"
}
}
}
----
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   940 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 55ms · UTC 01:35 · PVG 09:35 · LAX 17:35 · JFK 20:35
Developed with CodeLauncher
♥ Do have faith in what you're doing.