usb hid 报告字节数 变长传输

想请教一个关于hid通信过程中报告传输数据的字节数的问题。

1.下位机规定报告字节数最大为64字节
2.通信协议是不定长的,每条命令返回值长度不同,下位机不会自动补全64字节。

** Q1、我在编写上位机过程中使用windows的 ReadFile 读取的时候,发现下位机返回数据不够64字节的时候ReadFile没有数据,只有够了64字节才会读到数据。而我想实现的是能够读取下位机返回的变长数据,因为下位机没有补全64字节,我可以怎么尝试?**

我自己也在网上查找了一些资料,了解到可能是ReadFile读取数据格式是{报告id+报告长度}的整数倍,下位机返回数据不够64字节就不放在ReadFile的缓冲区中?我使用bus hound监测,发现我的设备有两个选项,1.USB人体学输入设备 2.HID-compliant-device。在使用程序发送数据时,1能够监测到任何发送数据以及返回数据,而2只能够监测到发送数据,以及返回字节数满64字节的返回数据,不够64的就没有显示。 Q2、想请问下 1.USB人体学输入设备 2.HID-compliant-device这两个东西直接的关系及区别?

希望了解的人帮忙解答下,万分感谢!

2个回答

解决了没有。。。同问

解决了没有。。。同问

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
USB大容量存储传输数据包最大数据量是多少?

在USB2.0中,高速模式端点最大传输512字节。但在大容量存储中,一包的数据量最大是64K,小弟在翻阅大容量存储的资料中,没有看到关于64K的描述,想请教各位这个64K是哪里定义的,在哪里可以看到相关的资料?

关于USB HID和USB CDROM的问题

现在我想清除HID的COS,直接用清除CDROM的COS的程序行不行,本人新手求解救

USB HID report 解析 求大牛解释

![CSDN移动问答][1] 如图1所示是USB HID的report descriptor. 是apple的一个触摸板。 图2 是发送的数据报文。这个不太能理解阿。为啥都解析不出来report id的值呢? 有大牛解释一下么? ![CSDN移动问答][2] [1]: http://xiangce.baidu.com/picture/detail/d14304ad00d623f3906255da99dfd63d782a0f02 [2]: http://xiangce.baidu.com/picture/detail/740fce6bc9841934120f0b44c7212ac78d172c2a

STM32CubeMX中两种USB HID设备类的区别?

我想用STM32CubeMX代码生成工具生成USB的HID设备类驱动代码,发现在USB DEVICE下拉列表框选项中,有2中HID设备类选项可以选择,分别是Custom Human Interface Device Class和Human Interface Device Class,我查了USB官网上对USB设备类的列表,发现只有Human Interface Device Class这一种标准HID类设备。那么,工具中的Custom Human Interface Device Class是什么类型的HID设备呢?是否是用户可以自定义的HID类设备,它跟标准的HID类设备有什么异同?有没有这方面的资料可供参考呢? ![STM32CubeMX中所支持的USB设备类](https://img-ask.csdn.net/upload/201807/16/1531712468_318861.png)

观察到一个现象:usb HID设备在成功枚举完了之后就与主机不通讯了,怎么重新开始通讯呢?

stm32f103zet6,开发环境mdk517,用的是st官方给的hid的键盘的例程,usb能成功被枚举,而且显示有一个标准的输入设备,但是我再debug模式下起初在枚举阶段我能看到在中断函数中设置的中断点出停下来,说明主机给设备发了一些东西,但是当主机成功枚举之后,pc上显示这个设备运转正常,这个时候再在中断函数中任何地方设置断点都没有作用,也就是说这时主机就没有给设备发in包,那岂不是直接忽略了这个设备了?那这个设备的动作怎么发到主机上啊?我试过从设备管理器中禁用设备时,设备有发生中断,启用时也是,但是不管时就没数据交流,那么要实现鼠标的功能的话,鼠标动了主机根本不知道啊,怎么搞?

安卓主板外接USB HID接口的红外触摸框,程序如何获取触摸框原始数据

公司自主研发的,安卓主板外接 红外触摸框,触摸框接口是通过usb hid串口方式连接与 发送数据的,请教下应用程序如何在触摸时能够获取触摸框的原始数据,而不是经过底层 处理后的MotionEvent中的触摸数据。之前尝试过用usbdevice 获取数据,但是在调用 openDevice()方法后,触摸框就不能与系统进行交互了(触摸失效),触摸框的数据只能被对应的程序获取到,。。。而且最近系统升级到了5.0版本的,程序虽然可以识别到触摸框设备,但是对应的usbdevice对象中的interface却是空的,怎么解决,希望有大神能够解答

C++ 如何读取HID USB设备的数据

这种设备是HID USB设备,它里面存了一些信息,无需驱动(和扫码枪类似),将卡贴在上面就可以显示出卡号,请问这个设备我要怎么获取里面的数据啊,不要说什么让控件获取焦点,我这个程序没有用户界面。谢谢了。 ![HID设备](https://img-ask.csdn.net/upload/201804/24/1524559698_243133.jpg)

用mfc编写usb hid上位机,readfile 总是返回错误6

CString szTemp; OVERLAPPED ReadOverlapped; char ReadReportBuffer[1024]; CComboBox* pCombo = (CComboBox*)GetDlgItem(IDC_COMBO_SEARCH); /*************************************************************************************/ /* Get GUID for all System HIDs----获取guid */ HidD_GetHidGuid(&HidGuid); /* Get Device Information for all present devices ---获取设备信息群*/ DevInfo = SetupDiGetClassDevs(&HidGuid, NULL,NULL, (DIGCF_PRESENT | DIGCF_DEVICEINTERFACE) ); if( INVALID_HANDLE_VALUE == DevInfo) { AfxMessageBox("DevInfo出错,退出"); return ; } DevData.cbSize = sizeof(DevData); DevDetail = NULL; Index = -1; /* Scan all Devices */ do { Index++; /* Device Interface Element of a Device Information set */ ok = SetupDiEnumDeviceInterfaces(DevInfo,0, &HidGuid,Index, &DevData); if (ok == FALSE) { AfxMessageBox("退出"); break; } /* Get Device Interface Details - Get Length */ ok = SetupDiGetDeviceInterfaceDetail(DevInfo, &DevData, NULL, 0, &Length, NULL ); /* Allocate memory for Device Detailed Data---分配内存 */ DevDetail = (PSP_DEVICE_INTERFACE_DETAIL_DATA) malloc(Length); /* Set cbSize in the DevDetail structure */ DevDetail->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA); /* Get Device Interface Details --真正的获取接口*/ ok = SetupDiGetDeviceInterfaceDetail(DevInfo,&DevData,DevDetail, Length, NULL, NULL ); if (!ok) { free(DevDetail); DevDetail = NULL; continue; } nDevDetail[Index] = (int)DevDetail; //free(DevDetail); //及时释放内存 /*********开始建立连接*************/ /* Create File for Device Read/Write */ DevHandle = CreateFile(DevDetail->DevicePath,NULL,FILE_SHARE_READ | FILE_SHARE_WRITE,(LPSECURITY_ATTRIBUTES)NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (DevHandle == INVALID_HANDLE_VALUE) { free(DevDetail); DevDetail = NULL; continue; } /********************获取属性信息,包括pid vid */ DevAttributes.Size = sizeof(DevAttributes); ok = HidD_GetAttributes(DevHandle,&DevAttributes); if(!ok) { free(DevDetail); CloseHandle(DevHandle); DevDetail = NULL; continue; } if((DevAttributes.VendorID == 0x10c4 )&&(DevAttributes.ProductID == 0x8296 )) //DevDetail->DevicePath MyDevPathName { MyDevPathName = DevDetail->DevicePath; DevHandle=CreateFile(DevDetail->DevicePath, GENERIC_READ , FILE_SHARE_READ|FILE_SHARE_WRITE, (LPSECURITY_ATTRIBUTES)NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,NULL); if( (DevHandle == INVALID_HANDLE_VALUE )&&(DevHandle == 0) ) { AfxMessageBox("读访问打开设备失败"); return; } Sleep(1000); } szTemp.Format("VID--%x PID--%x",DevAttributes.VendorID,DevAttributes.ProductID); pCombo ->AddString(szTemp); DevCount++; /*************************************************************************************/ } while(DevCount < 20); pCombo ->SetCurSel(0);

HID ReadFile() 读取出现较高延迟

本人使用了Windows Hid和SetupApi接口实现HID USB口数据读取功能。 但是发现在调用ReadFile()出现了较高的延迟, 而使用BusHound工具则不会。 场景: 下位机没隔10ms发送一次数据。黄色表示一次读取的间隔时间。 下面以图做比较: ![Bus Hound](https://img-ask.csdn.net/upload/201707/27/1501147771_602678.png) ![ReadFile读取](https://img-ask.csdn.net/upload/201707/27/1501147808_370458.png) 请问有什么办法能与bushound延迟一致呢?

如何解析usb扫描枪上报的HID键值码?

最近在Linux下尝试读取USB二维码扫描枪数据并解析其中字符串,但是却不知如何解析上报的数据。 例如我在字符串中写入的是"11223344556677889900"的字符串,编写测试代码后读出的input event如下: type: 4, code: 4, value: 458835 type: 1, code: 69, value: 1 type: 0, code: 0, value: 0 type: 17, code: 0, value: 1 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458835 type: 1, code: 69, value: 0 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458841 type: 1, code: 79, value: 1 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458841 type: 1, code: 79, value: 0 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458841 type: 1, code: 79, value: 1 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458841 type: 1, code: 79, value: 0 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458842 type: 1, code: 80, value: 1 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458842 type: 1, code: 80, value: 0 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458842 type: 1, code: 80, value: 1 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458842 type: 1, code: 80, value: 0 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458843 type: 1, code: 81, value: 1 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458843 type: 1, code: 81, value: 0 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458843 type: 1, code: 81, value: 1 type: 0, code: 0, value: 0 type: 4, code: 4, value: 458843 type: 1, code: 81, value: 0 type: 0, code: 0, value: 0 。。。。。 查阅"input-event-codes.h"后得知:type: 4, code: 4代表的是EV_MSC和MSC_SCAN;type: 1, code: 81代表的是EV_KEY和KEY_KP3。 从EV_KEY和KEY_KP3能得知输入的是KP3按键值,也就是对应的输入数字'3',但是因为该头文件列举的只是一些宏定义,并没有一些优美的转换关系,导致我的应用代码不知如何将得到的事件值转换为字符串。 我想应该是可以通过"type: 4, code: 4, value: 458843"中的value值换算得到相应的字符,这样子就算二维码中有中文字我也可以读取出来,但是这个value值可以从哪里得到?具体的转换规则是怎样呢?

Android usb host 传输速度

# 开发android设备获取下位机数据 协议都搞好了 但是不同机型传输速度区别很大 获取一张600k的图片数据 (魅蓝m2 root 支持otg )用了2s不到 (红米 note3 未root 支持hid )用了8s左右,

用qt编写的Windows软件,需要与鼠标通讯,怎么实现软件与hid设备的usb通讯

当该hid设备通过usb连接到电脑时,软件可以检测到该设备,并且做出相应的响应,可以通讯,我是新手,求教大神们,就该如何下手。。。

USB-HID发送指令霍尼韦尔扫码枪开启扫描?

c#代码,我dllImport以后,先用HidD_GetHidGuid获取霍尼韦尔扫码枪的GUID,然后CreateFile根据VID和PID创建句柄,用FileStream去READ扫码枪扫的码,但是我想给扫码枪发送指令开启后者关闭扫描的时候,用FileStream的Write的时候,无反应。我Write的buff是{0x16,0x54,0x0D},这样的入参有什么问题吗?我这个16进制用的是232串口的开启指令,USB-HID的指令有什么区别吗?

window环境下,触摸屏USB驱动开发,该设备属于HID类吗

大家好,最近在windos环境下开发USB驱动,目标设备是触摸屏,该触摸屏和PC机通过USB接口通讯。主要是上报触摸数据,以及PC机发送一些重要的数据到设备,进行存储。 我知道window提供了许多标准的设备类(Device Setup Classes)的驱动,其中鼠标、键盘等USB接口设备都是HID类设备,存在疑问的是,我这样的设备要求HID设备类能否满足,还是我应该在开发一个新的类

嵌入式linux与stm32 usb通信

linux为主机,stm32为从机,实现以下:stm32为一个无线传输设备,最大256字节,将接收到的数据通过usb发送给linux,linux将需要发送的信息通过usb发送给stm32。 (linux的usb-skeleton.c已经看过)有以下疑惑: 1.应用程序,发送可以直接使用write,那么我要接收怎么实现?一直read么?还是驱动中一直读取,然后告诉应用程序,具体实现方法? 2.使用那种方式比较好?HID、CDC什么的? 3.usb通信只能有主机发起,如何保证及时接收到数据? 4.usb一包数据是64字节,大于64字节需要分包发送,要如何判断接收到了完整的一包。

Android UsbManager 获取不到HID设备

已经在AndroidManifest.xml配置了 ``` <uses-permission android:name="android.hardware.usb.host" /> <uses-permission android:name="android.hardware.usb.accessory" /> <uses-feature android:name="android.hardware.usb.host" android:required="true" /> ``` 安卓手机中添加了 ``` <?xml version="1.0" encoding="utf-8"?> <permissions> <feature name="android.hardware.usb.host" /> </permissions> ``` 下面是部分代码 ``` UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); HashMap<String, UsbDevice> deviceList = manager.getDeviceList(); Iterator<UsbDevice> deviceIterator = deviceList.values().iterator(); int count =deviceList.size();//当外接U盘时,此处是1,当外接鼠标或自己的HID设备时,此处是0,搜索了一下资料,说是UsbManager的源码,里面有一个过滤名单,只要是设备的subclass=1都获取不到,但一直没找到subclass=1在哪 ```

与Golang中的USB设备进行交互

<div class="post-text" itemprop="text"> <p>I am trying to communicate with a USB device (<a href="https://rads.stackoverflow.com/amzn/click/com/B0194MNAX8" rel="nofollow noreferrer">cottonwood RFID reader</a>) with golang under Linux.</p> <p>Here is where I am so far:</p> <ol> <li><p>My computer sees the hardware: I see the device in my <code>/dev/bus/usb</code></p></li> <li><p>The hardware works fine: the demo software they provide works seemlessly (under windows, they don't have a Linux version)</p></li> <li><p>It seems I can open the endpoints</p></li> <li><p>It seems I can write to the device</p></li> </ol> <p>Now, when I try to read from thehardware, I always get a timeout. I'm a total beginner on hardware, any help would be greatly appreciated, maybe the issue is actually very basic.</p> <p>My very simple codebase is here: </p> <pre><code>package main import ( "fmt" "log" "strconv" "github.com/jpoirier/gousb/usb" ) func main() { // Only one context should be needed for an application. It should always be closed. ctx := usb.NewContext() defer func() { errCl := ctx.Close() if errCl != nil { log.Fatal(errCl) } }() ctx.Debug(1) // ListDevices is used to find the devices to open. devs, err := ctx.ListDevices( func(desc *usb.Descriptor) bool { if desc.Vendor == GetCottonwoodVendor() &amp;&amp; desc.Product == GetCottonwoodProduct() { return true } return false }) // All Devices returned from ListDevices must be closed. defer func() { for _, dev := range devs { errCl := dev.Close() if errCl != nil { log.Fatal(errCl) } } }() // ListDevices can occasionally fail, so be sure to check its return value. if err != nil { log.Fatalf("list: %s", err) } for _, dev := range devs { // Once the device has been selected from ListDevices, it is opened // and can be interacted with. // Open up two ep for read and write epBulkWrite, err := dev.OpenEndpoint(1, 0, 0, 2|uint8(usb.ENDPOINT_DIR_OUT)) if err != nil { log.Fatalf("OpenEndpoint Write error for %v: %v", dev.Address, err) } // Poll Firmware/Hardware Version ID // AntennaOn // outAntennaPowerOnCmd := []byte{0x18, 0x03, 0xFF} outFirmIdCmd := []byte{0x10, 0x03, 0x00} // outHardIdCmd := []byte{0x10, 0x03, 0x01} i, err := epBulkWrite.Write(outFirmIdCmd) if err != nil { log.Fatalf("Cannot write command: %v ", err) } log.Printf("%v bytes sent", i) time.Sleep(1 * time.Second) epBulkRead, err := dev.OpenEndpoint(1, 0, 0, 1|uint8(usb.ENDPOINT_DIR_IN)) if err != nil { log.Fatalf("OpenEndpoint Read error for %v: %v", dev.Address, err) } readBuffer := make([]byte, 64) n, errRead := epBulkRead.Read(readBuffer) log.Printf("read %d bytes: %v", n, readBuffer) if errRead != nil { log.Printf("error reading: %v", errRead) break } } // GetCottonwoodVendor returns the vendor ID of cottonwood UHF reader func GetCottonwoodVendor() usb.ID { value, err := strconv.ParseUint("1325", 16, 16) if err != nil { log.Fatal(err) } return usb.ID(value) } // GetCottonwoodProduct returns the product ID of cottonwood UHF reader func GetCottonwoodProduct() usb.ID { value, err := strconv.ParseUint("c029", 16, 16) if err != nil { log.Fatal(err) } return usb.ID(value) } </code></pre> <p>First time I launch it, I get:</p> <pre><code>2016/12/14 19:19:18 3 bytes sent 2016/12/14 19:19:20 read 0 bytes: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] 2016/12/14 19:19:20 error reading: libusb: timeout [code -7] </code></pre> <p>Second time and all after:</p> <pre><code>2016/12/14 19:21:21 Cannot write command: libusb: timeout [code -7] </code></pre> <p>I tried with another library using hidraw, but it seems not to work either (probably detach usb device issue).</p> </div>

hidapi库中的hid_write()参数不正确

用qt编写USB通讯程序,成功加载第三方库HIDAPI,并且打开usb设备成功,但是在使用_hid_write时,一直提示参数错误,第一个位写0x00,也是错误,lenth多一位也错误

HID设备描述符和在驱动程序中的体现

这两天一直再看HID的描述符方面的知识,但是看到很多文档都是单独讲解描述符, 缺少和驱动程序实际应用的结合,哪位高人能够提供一些好的文档给小弟参考下吗? 小弟不胜感激!!!

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

ArrayList源码分析(入门篇)

ArrayList源码分析 前言: 写这篇博客的主要原因是,在我上一次参加千牵科技Java实习生面试时,有被面试官问到ArrayList为什么查找的速度较快,插入和删除的速度较慢?当时我回答得不好,很大的一部分原因是因为我没有阅读过ArrayList源码,虽然最后收到Offer了,但我拒绝了,打算寒假学得再深入些再广泛些,下学期开学后再去投递其他更好的公司。为了更加深入理解ArrayList,也为

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

玩转springboot启动banner定义所得

最近接手了一个springboot项目,不是不熟悉这个框架,启动时打印的信息吸引了我。 这不是我熟悉的常用springboot的打印信息啊,我打开自己的项目: 还真是的,不用默认的感觉也挺高大上的。一时兴起,就去研究了一下源代码,还正是有些收获,稍后我会总结一下。正常情况下做为一个老程序员,是不会对这种小儿科感兴趣的,不就是一个控制台打印嘛。哈哈! 于是出于最初的好奇,研究了项目的源代码。看到

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

立即提问
相关内容推荐