我最近开始研究pubnub,我正在尝试使用相同的方法制作pub-sub应用程序.我的java和Subscriber的发布者都是javascript.
以下是java中的发布商代码:
Pubnub pubnub = new Pubnub("pub-c-key", "sub-c-key");
pubnub.hereNow("my_channel", cb);
Run Code Online (Sandbox Code Playgroud)
在我的Callable for Here现在我做了一个Sysout响应,我得到以下响应:
{"message":"OK","status":200,"uuids":[],"service":"Presence","occupancy":0}
Run Code Online (Sandbox Code Playgroud)
这是我的JS代码:
<script src=http://cdn.pubnub.com/pubnub.min.js ></script>
<script>(function(){
var pubnub = PUBNUB.init({
publish_key : 'pub-c-key',
subscribe_key : 'sub-c-key'
});
pubnub.subscribe({
channel : "my_channel",
message : function(m){ document.getElementById("my_item").innerHTML = m; },
connect : publish
});
function publish() {
pubnub.publish({
channel : "my_channel",
message : "Connected!"
});
}
})();</script>
Run Code Online (Sandbox Code Playgroud)
但是当我向频道发布内容时,我会将结果显示在执行脚本的网页上. pubnub.publish("my_channel","Offer!" , callback);
为什么现在这不适用于我的情况?任何帮助或领导都可以.我已阅读pubnub文档,但我无法得到它.
我真的很难弄清楚有关社交网站(Facebook作为参考)如何管理其用户的评论和通知的见解.
他们如何实际存储评论数据?如何存储通知并将其发送给所有用户.一个示例场景是,朋友评论我的状态,并且每个喜欢我状态的人都会收到通知.此外,每个用户都有自己的读/未读功能,所以我猜有一个为每个用户存储的通知参考.但随后会有很多通知信息的冗余.如果我们使用单独的表/集合来存储它们并参考实际的notificatin,那么这将产生实时可伸缩性问题.那么你将如何决定权衡方式呢?当我想到这一切时,我的大脑崩溃了.通过网络提供的帮助不足以解决太多问题.
现在,如何将每个通知发送给应该接收该通知的所有用户......以及数据结构的外观如何.
我阅读了许多建议使用MySql的实现.我的理解是,那种数据(大小)就是,最好使用NoSql来实现可扩展性.那么MySql如何很好地适用于这样的用例,为什么像Mongo这样的NoSql在任何地方都没有被建议用于这种实现,因为这些都是高度可扩展的.
好吧,我知道很多问题.但我不是在寻找一个完整的答案,对特定事物的见解也对我构建自己的应用程序有很大的帮助.
我有一个搜索方法,它在参数中接收一个键值对,并通过 LIKE 查询搜索活动记录模型。但我无法让它工作。它没有正确使用关键参数。
这是我的方法的样子:
def search(key,value)
where('? LIKE ?',key,"%#{value}%")
end
Run Code Online (Sandbox Code Playgroud)
它触发的查询是('name' LIKE '%air%')
它应该触发的(name LIKE '%air%')
有没有办法让这个工作?
我正在开发一个应用程序,并考虑使用Cassandra作为我的几个模型的数据存储.据我所知,Keyspaces与关系数据库中的表类似.但随后它在任何地方都建议,在集群中只有一个密钥空间总是更好的做法.
我的疑问是,我需要创建多个键空间,因为我的模型具有不同的列级依赖性.这是一个好方法吗?
我正在尝试在Spring应用程序中实现API版本控制。
所以我想做这样的事情api_url / {version} / {params}
可以说我更改了一个端点函数,因此可以将新函数映射到具有新版本的新url。但我希望将其他未更改的函数映射到两个版本的url,例如api_url / {old-version} / {old-params}和api_url / {new-version} / {old-params}
因此,如果我可以实现这样的事情,它将有助于我将代码重复项保存在Java类中。我该怎么做呢。目前,@ RequestMapping仅允许我指定一个值。
我正在尝试从 Rails 获取客户端 IP,但是当我在本地计算机上测试它时,我得到的::1
不是127.0.0.1
.
我在控制器中尝试了以下两种方法:
request.remote_addr
request.remote_ip
如果重要的话,尝试一下 Rails 5 beta3。
我正在实现一个简单的开关盒,它将打开一个Enum值.以下是代码
ScheduleType scheduleType = ScheduleType.valueOf(scheduleTypeString);
switch (scheduleType) {
case ScheduleType.CRON_EXPRESSION:
System.out.println("Cron");
break;
}
Run Code Online (Sandbox Code Playgroud)
但我在IDE中收到以下错误:
The qualified case label ScheduleType.CRON_EXPRESSION must be replaced with the unqualified enum constant CRON_EXPRESSION
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么我会得到这个错误以及代码有什么问题.我知道正确的方法是删除ClassName,但为什么我需要这样做呢?因为通常在比较中我确实使用它,例如在equals和all中.谢谢
java ×4
spring ×2
activerecord ×1
cassandra ×1
enums ×1
java-ee ×1
javascript ×1
mysql ×1
nosql ×1
pubnub ×1
ruby ×1
scalability ×1
spring-mvc ×1