首页 文章 精选 留言 我的

精选列表

搜索[去水印],共10000篇文章
优秀的个人博客,低调大师

三大运营商回应5G套餐无法改回4G:去营业厅办理

最近,三大运营商均采取了“收紧4G,推广5G”策略,为了推广5G套餐,悄然将低价的4G套餐下架。各大运营商APP将5G套餐摆放在突出位置,4G套餐的办理入口已失去影踪。用户如需要办理4G套餐只能通过线下营业厅和电话客服。 那么,如果选择升级为5G套餐后,还能再改回4G吗? 据国内媒体报道,记者从联通客服了解到,升级5G后依旧可以更换回4G,但不支持线上办理,建议携带有效证件前往附近营业厅办理。 移动客服同样表示,网上降套餐、改回4G套餐是不可以的,降回4G套餐可以通过营业厅办理,也可以打人工客服办理。 数据显示,2020年前三季度,中国移动5G套餐用户数目达到1.14亿;截至9月底,中国电信的5G套餐用户数达到6480万户。 现在用户想使用5G网络,可能还要面临一些尴尬,比如手机没有更换,无法与5G网络对接;比如偏远农村5G基站还较少,5G信号不稳定,或许会出现“5G的套餐,4G的网络,3G的手机”的尴尬。

优秀的个人博客,低调大师

x-msg-im-hlr 0.0.1 发布, X-MSG-IM 去中心化即时通信基础设施

x-msg-im-hlr在X-MSG-IM系统中主要负责域内用户数据, 终端在线状态维护, 它是用户的归属位置. 在跨域场景中, 它可能还会提供拜访位置vlr能力. 图中的其它网元源代码会在2020-01-01前陆续开放, 它们的功能描述如下: 网元 描述 x-msg-ap 访问点, 异构客户端与异构协议接入 x-msg-channel-status channel状态服务, 支持在一切有状态的channel上sub/pub x-msg-im-auth 鉴权服务 x-msg-im-group 群组归属位置 x-msg-im-hlr 用户归属位置 x-msg-im-mgr 管理员接入 x-msg-im-org 企业组织架构服务 x-msg-oss 文件与对象存储

优秀的个人博客,低调大师

x-msg-im-group 0.0.1 发布, X-MSG-IM 去中心化即时通信基础设施

x-msg-im-group在X-MSG-IM系统中负责im业务中最基础也是最复杂的功能:群组,消息. 图中的其它网元源代码会在2020-01-01前陆续开放, 它们的功能描述如下: 网元 描述 x-msg-ap 访问点, 异构客户端与异构协议接入 x-msg-channel-status channel状态服务, 支持在一切有状态的channel上sub/pub x-msg-im-auth 鉴权服务 x-msg-im-group 群组归属位置 x-msg-im-hlr 用户归属位置 x-msg-im-mgr 管理员接入 x-msg-im-org 企业组织架构服务 x-msg-oss 文件与对象存储

优秀的个人博客,低调大师

x-msg-im-auth 0.0.1 发布,X-MSG-IM 去中心化即时通信基础设施

x-msg-im-auth在X-MSG-IM系统中负责客户端账号管理与身份认证. 现已同时支持tcp,websocket,http接入. 图中的其它网元源代码会在2020-01-01前陆续开放, 它们的功能描述如下: 网元 描述 x-msg-ap 访问点, 异构客户端与异构协议接入 x-msg-channel-status channel状态服务, 支持在一切有状态的channel上sub/pub x-msg-im-auth 鉴权服务 x-msg-im-group 群组归属位置 x-msg-im-hlr 用户归属位置 x-msg-im-mgr 管理员接入 x-msg-im-org 企业组织架构服务 x-msg-oss 文件与对象存储

优秀的个人博客,低调大师

x-msg-channel-status 0.0.1 发布,X-MSG-IM 去中心化即时通信基础设施

x-msg-channel-status在X-MSG-IM系统中提供channel状态服务. 支持在一切有状态的channel上sub/pub. 可参考这篇博文. 图中的其它网元源代码会在2020-01-01前陆续开放, 它们的功能描述如下: 网元 描述 x-msg-ap 访问点, 异构客户端与异构协议接入 x-msg-channel-status channel状态服务, 支持在一切有状态的channel上sub/pub x-msg-im-auth 鉴权服务 x-msg-im-group 群组归属位置 x-msg-im-hlr 用户归属位置 x-msg-im-mgr 管理员接入 x-msg-im-org 企业组织架构服务 x-msg-oss 文件与对象存储

优秀的个人博客,低调大师

libx-msg-im-xsc 0.0.1 发布,X-MSG-IM 去中心化即时通信基础设施

libx-msg-im-xsc是一个基于actor模型的单进程多线程并发通信服务器框架. 它的目标是为上层应用提供一个高性能, 可测量, 并行无锁, 网络透明, 全异步的开发环境. 在X-MSG-IM系统中, 它为所有核心网元提供网络事务控制, 应用层消息处理, 透明的分布式信令跟踪(调用链)能力. 既然是到了应用层, 提供的api自然也比较友好. 因此, 你可以很快速地在这些api上构建起一个并发服务器, 看下面的例子: 服务器: #include "XmsgTcpLog.h" #include "XmsgHttpLog.h" #include "XmsgWebSocketLog.h" #include "net-x-msg-im-auth.pb.h" #define X_MSG_N2H_PRPC_BEFOR_AUTH(__MSGMGR__, __BEGIN__, __END__, __CB__) (__MSGMGR__->reg(__BEGIN__::descriptor(), __END__::descriptor(), NULL, (void*)(__CB__), false)); static void x_msg_im_auth_simple(shared_ptr<XscChannel> channel, SptrXitp trans, shared_ptr<XmsgImAuthSimpleReq> req); int main(int argc, char **argv) { Log::setRecord(); Xsc::init(); /* libxsc-cpp初始化. */ // shared_ptr<XscTcpServer> tcpServer(new XscTcpServer("tcp-server", shared_ptr<XmsgTcpLog>(new XmsgTcpLog()))); shared_ptr<XscTcpCfg> tcpCfg(new XscTcpCfg()); tcpCfg->addr = "0.0.0.0:1224"; if (!tcpServer->startup(tcpCfg) || !tcpServer->publish()) /* tcp服务器启动. */ return EXIT_FAILURE; // shared_ptr<XscHttpServer> httpServer(new XscHttpServer("http-server", shared_ptr<XmsgHttpLog>(new XmsgHttpLog()))); shared_ptr<XscHttpCfg> httpCfg(new XscHttpCfg()); httpCfg->addr = "0.0.0.0:1225"; if (!httpServer->startup(httpCfg) || !httpServer->publish()) /* http服务器启动. */ return EXIT_FAILURE; // shared_ptr<XscWebSocketServer> webSocketServer(new XscWebSocketServer("web-socket-server", shared_ptr<XmsgWebSocketLog>(new XmsgWebSocketLog()))); shared_ptr<XscWebSocketCfg> webSocketCfg(new XscWebSocketCfg()); webSocketCfg->addr = "0.0.0.0:1226"; if (!webSocketServer->startup(webSocketCfg) || !webSocketServer->publish()) /* websocket服务器启动. */ return EXIT_FAILURE; // shared_ptr<XmsgImN2HMsgMgr> msgMgrTcp(new XmsgImN2HMsgMgr(tcpServer)); /* 服务器上的消息管理器. */ shared_ptr<XmsgImN2HMsgMgr> msgMgrHttp(new XmsgImN2HMsgMgr(httpServer)); shared_ptr<XmsgImN2HMsgMgr> msgMgrWebSocket(new XmsgImN2HMsgMgr(webSocketServer)); // X_MSG_N2H_PRPC_BEFOR_AUTH(msgMgrTcp, XmsgImAuthSimpleReq, XmsgImAuthSimpleRsp, x_msg_im_auth_simple /* 消息注册. */) X_MSG_N2H_PRPC_BEFOR_AUTH(msgMgrHttp, XmsgImAuthSimpleReq, XmsgImAuthSimpleRsp, x_msg_im_auth_simple) X_MSG_N2H_PRPC_BEFOR_AUTH(msgMgrWebSocket, XmsgImAuthSimpleReq, XmsgImAuthSimpleRsp, x_msg_im_auth_simple) // Misc::hold(); return EXIT_FAILURE; } /* 在这里处理消息. */ void x_msg_im_auth_simple(shared_ptr<XscChannel> channel, SptrXitp trans, shared_ptr<XmsgImAuthSimpleReq> req) { /** * * channel即网络信道, 这里是客户端连接. * * trans即network transaction, 一切消息都以事务开始, 以事务结束. * */ thread t([trans, req]() /* 事务总是在channel归属的线程上开始, 却可以在任意线程上结束. */ { shared_ptr<XmsgImAuthSimpleRsp> rsp(new XmsgImAuthSimpleRsp()); rsp->set_token("token"); trans->end(rsp); /* 结束事务. */ }); t.detach(); } 客户端-tcp public static void main(String[] args) throws Exception { XmsgImAuthSimpleReq.Builder req = XmsgImAuthSimpleReq.newBuilder(); req.setUsr("usr"); // XscProtoPdu pdu = new XscProtoPdu(); /* 基于xsc协议的pdu构造. */ pdu.transm.indicator = 0x00; pdu.transm.trans = new XscProtoTransaction(); pdu.transm.trans.trans = XscProto.XSC_TAG_TRANS_BEGIN; pdu.transm.trans.stid = 0x00112233; pdu.transm.trans.msg = XmsgImAuthSimpleReq.getDescriptor().getName(); pdu.transm.trans.dat = req.build().toByteArray(); // Socket sock = new Socket("127.0.0.1", 1224); sock.getOutputStream().write(pdu.bytes()); byte by[] = new byte[0x200]; int len = sock.getInputStream().read(by); /* 这里很不严谨, 仅用于演示. */ pdu = XscProtoPdu.decode(by, 0, len); Log.info("rsp: %s", Misc.pb2str(XmsgImAuthSimpleRsp.parseFrom(pdu.transm.trans.dat))); } 客户端-http public static void main(String[] args) throws Exception { XmsgImAuthSimpleReq.Builder req = XmsgImAuthSimpleReq.newBuilder(); req.setUsr("usr"); // HttpClient client = HttpClient.newBuilder().build(); HttpRequest request = HttpRequest.newBuilder()// .uri(URI.create("http://127.0.0.1:1225/"))// .header("x-msg-name", XmsgImAuthSimpleReq.getDescriptor().getName())// .header("x-msg-dat", Crypto.base64enc(req.build().toByteArray()))// .build(); HttpResponse<byte[]> rsp = client.send(request, HttpResponse.BodyHandlers.ofByteArray()); Log.info("rsp: %s", Misc.pb2str(XmsgImAuthSimpleRsp.parseFrom(XmsgImHttpRsp.parseFrom(rsp.body()).getDat()))); } 客户端-websocket public static void main(String[] args) { Log.setRecord(); var httpClient = HttpClient.newHttpClient(); var wsCompletableFuture = httpClient.newWebSocketBuilder().buildAsync(URI.create("ws://127.0.0.1:1226"), new Listener() { public void onOpen(WebSocket ws) { XmsgImAuthSimpleReq.Builder req = XmsgImAuthSimpleReq.newBuilder(); req.setUsr("usr"); // XscProtoPdu pdu = new XscProtoPdu(); /* 基于xsc协议的pdu构造. */ pdu.transm.indicator = 0x00; pdu.transm.trans = new XscProtoTransaction(); pdu.transm.trans.trans = XscProto.XSC_TAG_TRANS_BEGIN; pdu.transm.trans.stid = 0x00112233; pdu.transm.trans.msg = XmsgImAuthSimpleReq.getDescriptor().getName(); pdu.transm.trans.dat = req.build().toByteArray(); // ws.sendBinary(ByteBuffer.wrap(pdu.bytes() /* 消息出栈. */), true); ws.request(1); } public CompletionStage<?> onBinary(WebSocket ws, ByteBuffer dat, boolean last) { byte by[] = new byte[dat.limit()]; dat.get(by, 0, by.length); try { XscProtoPdu pdu = XscProtoPdu.decode(by, 0, by.length); /* 解析收到的响应字节流. */ Log.info("rsp: %s", Misc.pb2str(XmsgImAuthSimpleRsp.parseFrom(pdu.transm.trans.dat))); } catch (Exception e) { Log.error(Log.trace(e)); } ws.request(1); return null; } public CompletionStage<?> onClose(WebSocket webSocket, int statusCode, String reason) { Log.debug("web-socket channel closed"); return null; } public void onError(WebSocket ws, Throwable error) { Log.debug("web-socket channel error occured: %s", Log.trace(error)); ws.request(1); } }); wsCompletableFuture.join(); Misc.hold(); } 完整的例子在这里: x-msg-im-xsc-examples-cpp x-msg-im-xsc-examples-java

优秀的个人博客,低调大师

实测合合信息跨模态鉴伪与去反光技术

生成式AI正在快速降低内容生产和内容修改的门槛。AI图片、AI视频和大模型生成文本已经大量进入社交平台、电商交易和日常办公场景,普通用户只需输入提示词,便可以生成较为逼真的人物、商品、票据和文案。过去,修改转账截图、伪造商品破损图或制作换脸视频,需要掌握一定的软件操作能力;现在,借助图像生成、局部重绘、视频驱动和大模型写作工具,普通用户也能在较短时间内完成。更麻烦的是,这些内容往往会经过截图、压缩、裁剪和二次转发,原有的生成痕迹进一步被削弱,仅靠肉眼是很难判断的。

优秀的个人博客,低调大师

大模型长期记忆系统设计:记忆压缩、去重、动态遗忘、时间衰减与冲突处理应用实践24.0

通用大模型都存在一个明显短板:上下文窗口有限。单次对话结束,超出窗口范围的历史信息就会丢失。想要实现长期对话、持续运行的AI智能体、自动化业务Agent,单纯依靠Prompt上下文远远不够。通常我们把全部历史对话直接塞进提示词,短期内尚可运行,随着交互次数增多,Token数量爆炸、推理成本飙升、大量冗余信息干扰模型判断,对话质量持续下滑。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册