V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lyxxxh2  ›  全部回复第 2 页 / 共 21 页
回复总数  405
1  2  3  4  5  6  7  8  9  10 ... 21  
14 天前
回复了 bingoso 创建的主题 游戏 王者新号 120 场上王者,达成新成就
@lyxxxh2
开小号炸鱼,队友说他王者 1 星。
14 天前
回复了 bingoso 创建的主题 游戏 王者新号 120 场上王者,达成新成就
我前两年王者 45 星。
前几局 5 杀随便拿,打上黄金局后就不对劲,全是炸鱼的。
王者 1 星的队友被对面乱杀,估计有百星实力。
文章关于 web 的,我看懵了。
1. `analyzev.oss-cn-beijing.aliyuncs.com` 这个是 oss 自带的域名,跟 cdn 有什么关系?
2. 更让我好奇的是,analyzev 这个 bucket,是谁的,为什么 csdn 要用他做静态资源库访问? 没钱建个 bucket + cdn?

奇安客居然可以获取 oss 的访问记录,牛皮。
14 天前
回复了 Mark24 创建的主题 剧集 《西游记》细节真是丰富
可能作者本人都没想过这些。
公司地点是柬埔寨吗,不是我不去。
防火墙可视化而已,这是优点才对啊。
总有些独特的需求,必须要手写才行。
我只能想到:
大部分套,独特的手写或 ai 写。
@vvhy
是不是派出所上门,然后让你整改。
24 天前
回复了 young1 创建的主题 程序员 设计模式
我赞同 14 楼,一种共识而已。
学设计模式,必须 2-3 年经验+。
踩过一些坑,才知道设计模式能解决什么。
至于啥优雅的,强行上还不如不上。

1. 理解目的
2. 根据自己理解,手写个出来。
3. 后面该用时,就会想到
[php 设计模式学习 ]( https://learnku.com/docs/study-php-design-patterns/1.0)
之前学的。
28 天前
回复了 beryl 创建的主题 程序员 如何看待工作中大规模使用 AI 写代码
```
# 以下由 gpt 生成
def init_input_and_output_door(self):
frame_results = copy.deepcopy(
self.frame_results
) # self.frame_results 会被以下代码改变 找太麻烦了 直接拷贝到新对象
door_line = [[828, 438], [1208, 868]]
door_area_line = [[623, 523], [1144, 982]]
door_line = [[336, 0], [1698, 1222]]
door_line =[[186, 0], [1428, 1222]]
door_line = [[336, 0], [1698, 1222]]
def is_above_line(point, line):
(x1, y1), (x2, y2) = line
return (y2 - y1) * (point[0] - x1) > (x2 - x1) * (point[1] - y1)
def filter_boxes_above_line(frame_results, door_area_line):
filtered_results = []
for frame in frame_results:
filtered_boxes = []
for box in frame["boxes"]:
x_min, y_min, x_max, y_max = box
box_center = [(x_min + x_max) / 2, (y_min + y_max) / 2]
if is_above_line(box_center, door_area_line):
filtered_boxes.append(box)
if filtered_boxes:
filtered_frame = {
"id": frame["id"],
"boxes": filtered_boxes,
"reid_dets": frame["reid_dets"], # 保留每个帧的 reid_dets
}
filtered_results.append(filtered_frame)
return filtered_results

filtered_frame_results = filter_boxes_above_line(frame_results, door_area_line)
filtered_frame_results = [
item for item in filtered_frame_results if len(item["boxes"]) != 0
]

# 使用 IOUTracker 类
tracker = IOUTracker(iou_threshold=0.3)
all_tracks = tracker.track_objects(filtered_frame_results)

# 用于记录人的信息、reid_dets 和 frame_ids
person_groups = defaultdict(list)
person_reid_dets = defaultdict(list)
person_frame_ids = defaultdict(list)
for frame, track_ids in zip(filtered_frame_results, all_tracks):
for box in frame["boxes"]:
matching_id = [
id for id, tracked_box in track_ids.items() if tracked_box == box
]
if matching_id:
box.append("person_id: {}".format(matching_id[0]))
person_groups[matching_id[0]].append(box[:-1]) # 不包括 person_id
person_reid_dets[matching_id[0]].append(
frame["reid_dets"]
) # 记录 reid_dets
person_frame_ids[matching_id[0]].append(
frame["id"]
) # 记录 frame id

crossing_events = {}
final_crossing_frames = {}

# 门线参数
m = (door_line[1][1] - door_line[0][1]) / (
door_line[1][0] - door_line[0][0]
) # 斜率
c = door_line[0][1] - m * door_line[0][0] # 截距

def check_position(x, y):
line_y = m * x + c
return y - line_y # > 0 在线上方,< 0 在线下方

for person_id, boxes in person_groups.items():
last_pos = None
entry_index = None
exit_index = None
# if person_id != 2:
# continue
for idx, box in enumerate(boxes):
x_center = (box[0] + box[2]) / 2
y_center = (box[1] + box[3]) / 2
current_pos = check_position(x_center, y_center)

if last_pos is not None:
if last_pos > 0 and current_pos < 0:
exit_index = idx
elif last_pos < 0 and current_pos > 0:
entry_index = idx
last_pos = current_pos

crossing_events[person_id] = {
"input_index": exit_index,
"output_index": entry_index,
}

for person_id, events in crossing_events.items():
person_data = []
boxes = person_groups[person_id]
reid_dets = person_reid_dets[person_id]
frame_ids = person_frame_ids[person_id] # 获取 frame id 列表

if events["input_index"] is not None:
input_index = events["input_index"]
input_frames = boxes[input_index : input_index + 3]
input_reid_dets = reid_dets[input_index : input_index + 3]
input_frame_ids = frame_ids[
input_index : input_index + 3
] # 取相应的 frame ids
person_data.append(
{
"type": "output",
"all_box": input_frames,
"reid_dets": input_reid_dets,
"frame_ids": input_frame_ids,
"ids": list(
range(input_index, input_index + len(input_frames))
),
}
)

if events["output_index"] is not None:
output_index = events["output_index"]
output_frames_start = max(0, output_index - 2)
output_frames = boxes[output_frames_start : output_index + 1]
output_reid_dets = reid_dets[output_frames_start : output_index + 1]
output_frame_ids = frame_ids[
output_frames_start : output_index + 1
] # 取相应的 frame ids
person_data.append(
{
"type": "input",
"all_box": output_frames,
"reid_dets": output_reid_dets,
"frame_ids": output_frame_ids,
"ids": list(range(output_frames_start, output_index + 1)),
}
)

final_crossing_frames[person_id] = person_data
```

之前让 gpt 写的。
也不是不能用,就是没一点"设计"的感觉。
让他再优化下,直接处 bug 。
逻辑越复杂,我就不敢用 ai 。
因为描述太麻烦了,得写篇作文给他。
再者很难阅读和修改。


后面我直接重写了
```
# 定义数据
for box, person_id in zip(data["head_boxes"], person_ids):
if person_id is None:
continue
if person_id not in self.door: # 初始化 key
self.door[person_id] = []
self.user_door_status[person_id] = None # 用户和门状态
for device in self.devices: # 用户和设备状态
if person_id not in device["persons"]:
device["persons"][person_id] = []

self.door[person_id].append(
{"box": box, "up_or_line": self.box_line_up_or_down(box)}
) # 添加到门记录器
if len(self.door[person_id]) > 100: # 用户超过一百
self.door[person_id] = self.door[person_id][-50:]
for device in self.devices: # 添加到设备记录器
if person_id not in device:
device["persons"][person_id].append(
self.calculate_containment_ratio(device["box"], box)
)
if len(device["persons"][person_id]) > 100:
device["persons"][person_id] = device["persons"][person_id][-50:]

# 根据
for person_id in self.door:
...
....
```
@rebeccaMyKid
封啊,所以我一直买翻墙的订阅了。
之前用阿里云作为 ssr 服务,总是达不到 30mpbs 。
开 bbr 内核就可以 30mbps 了。
我只是想表达,也有其他可能。

再说,限上载还能解释,但是下载也限制成 10mbps... (下载最不值钱)
30 天前
回复了 zjyg1993 创建的主题 生活 点外卖食物中毒,但是太无奈了
黄焖鸡我昨晚也吃了
https://i.imgur.com/UbwMKtk.png
我月薪不过 w,每月给 3-4k 美团。

1. 20 以下不吃
- 美团抽 20%,商家不可能不赚钱吧。
2. 价格不对劲不吃
- 我同事他之前点 29 的烤鸡,他吃得拉肚子。
- 但是我照样点,不过我点的是窑鸡王的,69 一只,没出过问题。
支持 qq 音乐,打到网易云。
天天给我推中文情歌,我从不听中文情歌,我非常确定。

https://i.imgur.com/BbghiHJ.png
反馈啥用没有。
你花钱了,还要给你看广告,真 tm 恶心。

只能换成 qq 音乐,很少推中文情歌。
https://i.imgur.com/gLqa4pk.png
(注:因为中文情歌听得懂,觉的很尬,所以才不听。)
我还以为是啥新闻,不小心刷到的。
32 天前
回复了 felo 创建的主题 程序员 代金券锁券优化方式
赞同 11 楼。

读写锁 -> 读取数据库为变量 -> 修改 -> 解锁。 # 也就这部分会影响到其他用户
time.sleep(.5)# 业务逻辑
except Exception as e:
加读写锁,回滚。 (怕其他请求读取为变量,所以读也锁)

ps: 似乎有点不对,"a 请求"回滚,"b 请求"的内存变量又不会改。 (不过很难发生)
32 天前
回复了 zx9481 创建的主题 程序员 关于分销系统,有一些问题想问下大家
业务上很怪,不过老板接受了就行。

技术上,这设计没问题。
在数据库建议只设计一个字段,
不然后续经常用,得额外代码组合。
32 天前
回复了 BaymaxK 创建的主题 互联网 最终还是对开发者下手了🤣
@BaymaxK
https://i.imgur.com/mgjYeo6.png

赞赏抽 15%,至于广告...
他们不会说的,问就是没抽成。
32 天前
回复了 BaymaxK 创建的主题 互联网 最终还是对开发者下手了🤣
https://i.imgur.com/LH1BiGC.png
开发者设置的,不过钱拿不到。( 100 的门槛太坑了)
https://i.imgur.com/OfClILQ.png
32 天前
回复了 Joker123456789 创建的主题 Java 其实,我更喜欢写 SQL
我相反,orm 重度患者。
1  2  3  4  5  6  7  8  9  10 ... 21  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4322 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 10:07 · PVG 18:07 · LAX 02:07 · JFK 05:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.