psx2019 最近的时间轴更新
psx2019

psx2019

V2EX 第 394664 号会员,加入于 2019-03-23 19:30:02 +08:00
psx2019 最近回复了
221 天前
回复了 csfreshman 创建的主题 程序员 面试题讨论,类设计
@csfreshman Room 对象生成的时候自动生成的,在构造函数里面,构造生成后可以获取到 key 和 roomId 用来查找和开关门,无论是谁只要持有对的 key 就可以开门,room 本身应该只关注自身状态,也就是当前门是否开启:openStatus,改变状态的动作只有一个 openOrClose(),该动作会判断 key 是否正确来决定是否改变状态,也就是持有 key 的人就是“主人”,最后实现“主人”的这一概念绑定只需要将门的 id 和 key 分别放入 User 类的 roomkeys 和 Rooms 的 Map 容器内即可实现绑定。而主人是谁其实并不是 room 关心的,只需要自己在程序上保证 key 不会别泄露给别的人即可,
221 天前
回复了 csfreshman 创建的主题 程序员 面试题讨论,类设计
```java
public class Room{
String roomId;
String key;
Boolean openStatus;
public Room() {
this.roomId = UUID.randomUUID().toString();
this.key = UUID.randomUUID().toString();
this.openStatus = false;
}

public String getRoomId() {
return roomId;
}

public String getKey() {
return key;
}

public Boolean getOpenStatus() {
return openStatus;
}

public void openOrClose(String key) {
if (this.key.equals(key)) {
this.openStatus = !this.openStatus;
}
}
}

public class User {
String name;
Map<String, String> roomKeys =new HashMap<String, String>();
Map<String, Room> rooms =new HashMap<String, Room>();

public User(String name) {
this.name = name;
}

public String getName() {
return name;
}

public Map<String, String> getRoomKeys() {
return roomKeys;
}

public Map<String, Room> getRooms() {
return rooms;
}
}

```
不想写扩散的话,那就模拟服务发现的机制做一个用户路由发现,维护一个在线用户的 session 缓存,里面维护了 session 对应的路由服务器信息,发送的时候根据这个缓存值进行路由,但是需要配合 ack 机制或者其他机制保证消息真的被接受到了。否则应该保存到离线消息表里面等待下次上线拉取消息。
237 天前
回复了 elmon 创建的主题 职场话题 菜鸟 or 蚂蚁 offer 选择题
超纲了
希望增加一个按城市细分的级别薪资,因为同样的级别不同城市的工资差异都会比较大,直接看级别上限和下限差值有点大
虾皮年终多少?
很不错.谢谢
311 天前
回复了 soulmt 创建的主题 问与答 跨端和跨平台 有什么区别?
跨端一般指应用层的说法,对用户介绍的比较多,比如说移动端,PC 端,WEB 端。
而跨平台一般都是指比较专业的术语,面向专业的人员例如开发人员比较多,比如说 window,linux,unix 各系统平台。
又或者是更底层的各指令集平台,比如 x86,Arm,RSIC-V 等。
根据不同的面向群体和上下文给出的描述也不同。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2232 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 9ms · UTC 00:41 · PVG 08:41 · LAX 16:41 · JFK 19:41
♥ Do have faith in what you're doing.