草庐IT

聊一聊RNDIS

今天把RNDIS的包抓了。总的来说,感觉和CDC的区别不是很大。枚举之后就是大量的这种send-response-get的流程。然后就是在DataEP上跑以太包。和普通CDC的区别在于,普通CDC的dataEP上传的是应用数据,RNDIS的dataEP上传的是以太包。有个有趣的问题,如何知道一个以太包的开始和结束?spec给出的解决方案是:USBBULK一次最大传512字节。如果以太包小于512,那收下来的就是一个完整的以太包。如果以太包大于512,就发送512*N+M,M这就是说,从开始就收512字节的包,一直到收到小于512的BULK包为止。如果以太包是512的倍数,spec要求必须要在最

聊一聊近段时间大火的ChatGPT,它真的能代替程序员导致失业潮来袭吗?

OpenAI又火了!近期许多人的朋友圈里都混进了一个让人既爱又怕的狠角色,以至于StackOverflow不得不急忙下架。近日,OpenAI发布了聊天AIChatGPT,短短几天,其用户量直冲百万级,甚至服务器一度被注册用户挤爆了。这种被网友惊叹“超越谷歌搜索”的神器究竟怎么做到的?到底靠谱吗?​事件回顾OpenAI公司日前发布了ChatGPT,这是另一个基于旗舰GPT系列的大型语言模型(LLM),是一个专门用于对话交互的模型。用户可以下载该公司的免费演示版本。与发布的大多数大型语言模型(LLM)一样,ChatGPT的发布也引发了一些争议。在发布之后的短短几个小时内,这个新的语言模型就在Twi

聊一聊在字节跳动做项目质量改进的经验

引言那一年,我刚毕业一年多,在第一家公司依然到了成长瓶颈期,一是不愿意频繁出差(做乙方的无奈);二是疲于每天重复的手工测试(团队缺乏技术氛围),技术上难有突破的机会。身边的同事基本上是安于现状的,而我作为新人则精力充沛,感觉自己每天除了学习真不知道干什么了,时常学习到半夜。此时我觉得趁着年轻是换个环境的时候了,开始投递心仪的公司。优先考虑上海的公司,原因是经常来这儿出差,比较喜欢上海这个城市,最后全部拿到了投递公司的offer,最终选择了字节跳动测试工程师(偏功能测试)岗位,顺利来到上海。而如今,离开前东家已经2年多了,回首职业生涯,我觉得在前东家做项目那一年多的时间是我成长最快的时光。诚然,

我们一起聊一聊Not only Java

NotonlyJavaJava已经到了尽头...最近这段时间,想些一些不一样的东西,但是猛然发现与Java技术相关的知识点,要么是没怎么接触的,要么是很难继续深入的,无论是从增加认知视野层面,还是加工认知深度方面,都很难做出选择,就像艺术来源于生活,同样,灵感应该来源于工作...开始的话其实不然,可能是由于最近大部分都在写一些前端的东西,好久没有碰Java,渐渐对其有些疏远才会有这样的感慨吧!不管是哪种编程语言,都是没有止境的,就像你学的汉语,可以说一句话,写一首诗,赋一段词,聊一个未来,作为交流的媒介,一切的可能都来源于使用它的人。再说编程语言,你可以用C实现一个算法,同样Java也行、Js

聊一聊短链接的危险

如今,短链接无处不在。所有这些bit.ly、ow.ly、t.co、t.me、tinyurl.com等早已成为在线环境中熟悉的一部分。实际上,对它们如此熟悉,以至于大多数用户点击它们时都不会多想。但是思考从来都不是坏事,考虑到这一点,我们将解释短链接是如何工作的,以及它们可能带来的隐私和安全威胁。单击短链接时会发生什么?当你点击一个短链接时,你几乎会直接跳转到预定的目标,即由创建链接的用户指定的地址。大多数人认为是这样的,但并非完全如此:实际的路线会经过URL缩短服务的一个快速转弯。服务效率越高,所需时间就越快,到达终点站的过渡就越顺畅。当然,这种延迟只对一个人来说微不足道——我们人类的速度相当

ios - 是否有任何选项可以禁用 open-fire 服务器上的群聊消息历史记录?

我一直在创建群聊应用,在实现群聊功能时我遇到了问题,当我每次加入房间时,开火发送最近两天的消息。这是我每次加入房间时收到的帖子消息。Verygoodmorning!!!哪位大侠可以指点一下openfireserver上disablehistorymessage的选项在哪里?所以我只会收到每条消息一次。提前致谢。 最佳答案 您应该不禁用群聊历史记录,您应该指定您不想接收历史记录,如XEP-0045中所述。:您的XMPP库应该能够指定房间加入数据包的“maxchars”或“maxstanzas”或“seconds”属性。

聊一聊Equals与时间序列攻击

引言随着信息技术的迅速发展,网络安全和隐私问题变得愈发重要。黑客和攻击者不断寻找新的攻击方法,其中之一是时间序列攻击(TimingAttack)。时间序列攻击是一种侧信道攻击,攻击者试图通过测量程序的执行时间来推断程序内部的信息。什么是时间序列攻击?时间序列攻击,又称时序攻击,是一种利用计算机程序或系统的执行时间来推断内部信息的攻击方法。攻击者通过观察程序的执行时间来猜测程序内部的敏感信息,例如密码、密钥或其他机密数据。时序攻击通常是一种侧信道攻击,因为攻击者不直接访问内部数据,而是通过侧信道(即程序的执行时间)来获取信息。如何进行时间序列攻击与防御?时间序列攻击的攻击者通常执行以下步骤:选择

社交直播语聊场景解决方案(一)商业化探索

摘要在过去几年的直播行业创业风口期中,直播的用户关注度疯狂增长,但用户质量却参差不齐。随着用户新鲜感一过,流失率变得相当严重,各大平台都在竭尽全力防御。然而,留住“凑热闹”的非直播受众用户并不是最关键的问题,而是要找到适合真实直播受众用户的商业化道路,才能保证行业的稳定繁荣。因此,我们需要探索有效的商业化模式,以确保产品的长期发展。一、社交直播产品概述泛娱乐社交直播产品是指以社交直播为基础,结合娱乐元素和游戏化设计的社交娱乐产品。它的产品形态以互动性、社交性为主要特点。其核心功能包括:实时直播、互动交流、打赏送礼、游戏竞技、娱乐节目等。通过直播平台,让用户可以观看和参与娱乐直播节目、游戏竞技等

从原理聊JVM(二):从串行收集器到分区收集开创者G1

作者:京东科技 康志兴1前言随着Java的进化过程,涌现出各种不同的垃圾回收器,从串行执行到并行执行,从高吞吐到低延迟,终极目标就是让开发人员专注于程序的代码书写而无需关注内存管理。JDK早期出现的垃圾回收器通常单独作用于不同分代,到后期出现的G1开始,才可以进行全区域收集。关于垃圾回收器的基础知识请翻看前一篇:从原理聊JVM(一):染色标记和垃圾回收算法2串行收集器(Serial)比较老的收集器,单线程,所收集时必须暂停应用的工作线程,直到收集结束。但和其他收集器的单线程相比更加简单、高效。作用于新生代的收集器叫Serial,采用标记复制算法;作用于年老代的收集器叫SerialOld,采用标

C++面试八股文:聊一聊指针?

某日二师兄参加XXX科技公司的C++工程师开发岗位第17面:面试官:聊一聊指针?二师兄:好的。面试官:你觉得指针本质上是什么?二师兄:这要从内存地址开始说起了。如果有一块容量是1G的内存,假设它的地址是从0x00000000到0x3fffffff,每一个字节都对应一个地址。当我们声明一个变量并初始化它时:inta=42;二师兄:操作系统会分配一块容量为4(sizeof(int))的地址,这块内存的首地址是0x00001000(假设),结束地址是0x00001003,在申请的这4个字节上放入42。当我们对这个变量取地址时,inta=42;int*p=&a;二师兄:操作系统会再分配一块内存,这块内