c#开发用户控件引用海康硬盘录像机的dll时报800700B错误

项目目标平台设置为anycpu的情况下开的应用程序调用海康硬盘录像机dll时程序正常运行,可是winform开发用户控件时调用海康硬盘录像机的dll时报8007000b错误;大神们怎么解决这个问题。

1个回答

应该是接口使用错误,包括封送的数据类型,最好看看他们提供的demo

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
海康硬盘录像机sdk C#二次开发
新手弱问登录设备之后,SDK中获取所连接录像机的摄像头的ip、端口、通道信息的函数是什么
关于海康硬盘录像机拍照问题
最近在使用海康的硬盘录像机进行拍照,但是发现调用SDK的拍照函数NET_DVR_CaptureJPEGPicture时,只能操作ipc网络摄像头,但是硬盘录像机是错误的,根据NET_DVR_GetLastError()反回的信息是11,请问有没有那位仁兄可以指教一下!附上代码: BOOL RealVideo::init(char * szIP,unsigned short usChannel,unsigned short usPort, char * szUser,char * szPassword) { m_szIP=szIP; m_usChannel=usChannel; // 初始化 // 初始化 bool k; k=NET_DVR_Init(); if(k==false) { return -1; } //--------------------------------------- // 注册设备 // LONG lUserID; NET_DVR_DEVICEINFO_V30 struDeviceInfo; m_lLoginID = NET_DVR_Login_V30(m_szIP,usPort, szUser,szPassword, &struDeviceInfo); if (m_lLoginID< 0) { return -2; } return 1; } BOOL RealVideo::Snapshot( char * szFileName) { char cFilename[256]; char szLan[128] = {0}; NET_DVR_JPEGPARA JpegPara; int temp=0; JpegPara.wPicQuality = 0xff; JpegPara.wPicSize = 0; strcpy(cFilename,szFileName); BOOL k; k = NET_DVR_CaptureJPEGPicture(m_lLoginID,m_usChannel, &JpegPara, cFilename); if (!k) { k=NET_DVR_GetLastError(); return -1; } else { return 1; } }
H.264视频流无法在海康的硬盘录像机中播放?
我用DM3730已经可以输出H.264视频流,在PC上使用软件都能够播放例如VLC等,但是在海康的硬盘录像机中无法播放。为什么?
C#写一款ip摄像头上位机,用RealPlayWnd.Handle;为啥是无效的句柄
我在用C#做某款小众摄像头的二次开发,写成功过海康产品的上位机,但是这款一直遇到一个问题困扰着我! 给的Demo用的是C++语言,我选择C#开发,在成功调用了初始化函数和登录设备函数后(说明给的dll是对的),调用打开通道Client_OpenChannel(OPEN_INFO *pOpenInfo)函数却一直无法实现。 我是这样写的: ![图片说明](https://img-ask.csdn.net/upload/201602/25/1456395796_291514.png) 一直返回无效句柄的意思。 厂家给的Demo里是这样写的: ![图片说明](https://img-ask.csdn.net/upload/201602/25/1456395886_293092.png) 这个结构的定义 [StructLayoutAttribute(LayoutKind.Sequential)] public struct tagIPNC_OPEN_INFO { public IntPtr hPlayWnd; public emVideoRes ImageSize; public emVideoCodecType CodecType; public emAVStreamType StreamType;//主码流和次码流分辨率相同时,一般录像时使用主码流,预览时采用次码流 public emAVStreamProtocol Protocol; public bool bOpenDisplay;//是否打开预览 public bool bScale;//是否按比例显示画面 public bool bPlayAudio;//是否播放音频 public bool bRecvAvData;//是否回调未解码数据 public bool bRecvDecodedAvData;//是否回调解码数据,未打开预览时,不能回调解码数据 } //打开通道函数的定义 [DllImport("IPNCSDK.dll", EntryPoint = "Client_OpenChannel", CallingConvention = CallingConvention.Cdecl)] public static extern emReturnValue Client_OpenChannel(ref tagIPNC_OPEN_INFO pOpenInfo); 我想问: 1.这个返回的emReturninvalidateHwnd,基本上我确定了是说我赋的窗口控件的句柄不对 info.hPlayWnd = RealPlayWnd.Handle;可我以前的都是这么赋的,不知道为啥不对 2.相关C++到C#的转换我也做了很多回了,基本格式相关转换应该也没问题 3.这是一个小厂商的产品,但某一方面性能很好必须选用,他们之前也没用C#开发过,难道是他们的DLL的问题?隐隐有一种不安,我在执行状态下会出现这种 ![图片说明](https://img-ask.csdn.net/upload/201602/25/1456395916_576985.png) SDK core dumped 这个core dumped是什么意思呢? 联系过厂家他们不管C#的事,这个问题困扰了我半个多月一直找不到端倪,求助大家,感激不尽!!!!
C# 调用海康SDK 预览画面叠加字符和图像(NET_DVR_RigisterDrawFun)问题
无法进入回调函数DrawFunCallBack, ``` public void RealDataCallBack(Int32 lRealHandle, UInt32 dwDataType, ref byte pBuffer, UInt32 dwBufSize, IntPtr pUser) { //MyDebugInfo AlarmInfo = new MyDebugInfo(DebugInfo); switch (dwDataType) { case CHCNetSDK.NET_DVR_SYSHEAD: // sys head if (!PlayCtrl.PlayM4_GetPort(ref m_lPort)) { MessageBox.Show("Get Port Fail"); } if (dwBufSize > 0) { //set as stream mode, real-time stream under preview if (!PlayCtrl.PlayM4_SetStreamOpenMode(m_lPort, PlayCtrl.STREAME_REALTIME)) { //this.BeginInvoke(AlarmInfo, "PlayM4_SetStreamOpenMode fail"); } //start player if (!PlayCtrl.PlayM4_OpenStream(m_lPort, ref pBuffer, dwBufSize, 1024 * 1024)) { m_lPort = -1; //this.BeginInvoke(AlarmInfo, "PlayM4_OpenStream fail"); break; } //set soft decode display callback function to capture m_fDisplayFun = new PlayCtrl.DISPLAYCBFUN(RemoteDisplayCBFun); if (!PlayCtrl.PlayM4_SetDisplayCallBack(m_lPort, m_fDisplayFun)) { //this.BeginInvoke(AlarmInfo, "PlayM4_SetDisplayCallBack fail"); } //start play, set play window //this.BeginInvoke(AlarmInfo, "About to call PlayM4_Play"); if (!PlayCtrl.PlayM4_Play(m_lPort, m_ptrRealHandle)) { m_lPort = -1; //this.BeginInvoke(AlarmInfo, "PlayM4_Play fail"); break; } //set frame buffer number if (!PlayCtrl.PlayM4_SetDisplayBuf(m_lPort, 15)) { //this.BeginInvoke(AlarmInfo, "PlayM4_SetDisplayBuf fail"); } //set display mode if (!PlayCtrl.PlayM4_SetOverlayMode(m_lPort, 0, 0/* COLORREF(0)*/))//play off screen // todo!!! { //this.BeginInvoke(AlarmInfo, " PlayM4_SetOverlayMode fail"); } } break; case CHCNetSDK.NET_DVR_STREAMDATA: // video stream data if (dwBufSize > 0 && m_lPort != -1) { if (!PlayCtrl.PlayM4_InputData(m_lPort, ref pBuffer, dwBufSize)) { //this.BeginInvoke(AlarmInfo, " PlayM4_InputData fail"); } } break; case CHCNetSDK.NET_DVR_AUDIOSTREAMDATA: // Audio Stream Data if (dwBufSize > 0 && m_lPort != -1) { if (!PlayCtrl.PlayM4_InputVideoData(m_lPort, ref pBuffer, dwBufSize)) { //this.BeginInvoke(AlarmInfo, "PlayM4_InputVideoData Fail"); } } break; default: break; } } public void DrawFunCallBack(Int32 lRealHandle, IntPtr hDc, uint pUser) { Graphics g = Graphics.FromHdc(hDc); Pen m_pen = new Pen(Color.Blue, 1); //设置虚线格式 m_pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash; g.DrawRectangle(m_pen, Convert.ToInt32(PicX * PicCurrent.Width), Convert.ToInt32(startPoint.Y * PicCurrent.Width), Convert.ToInt32(PicW * PicCurrent.Width), Convert.ToInt32(PicH * PicCurrent.Height)); } private void D() { if (m_lRealHandle != -1) { uint dwUser = 0; m_drawFun = new CHCNetSDK.DRAWFUN(DrawFunCallBack); CHCNetSDK.NET_DVR_RigisterDrawFun(m_lRealHandle, m_drawFun, dwUser); } } //调用预览 lpClientInfo.hPlayWnd = IntPtr.Zero; //lpClientInfo.sMultiCastIP = ""; m_ptrRealHandle = PicCurrent.Handle; m_fRealData = new CHCNetSDK.REALDATACALLBACK(RealDataCallBack); m_lRealHandle = CHCNetSDK.NET_DVR_RealPlay_V30(m_lUserID, ref lpClientInfo, m_fRealData, pUser, 1); //之后调用D() D() ```
QT:海康千兆网相机,无数据回流
采用海康MV_CC_GetOneFrameTimeout,提示返回值不正常,无数据 ``` MV_CC_DEVICE_INFO_LIST stDeviceList; void* handle; memset(&stDeviceList, 0, sizeof(MV_CC_DEVICE_INFO_LIST)); nRet = MV_CC_EnumDevices(MV_GIGE_DEVICE,&stDeviceList); nRet = MV_CC_CreateHandle(&handle, stDeviceList.pDeviceInfo[0]);//创建句柄 nRet = MV_CC_OpenDevice(handle);//打开句柄 nPacketSize = MV_CC_GetOptimalPacketSize(handle);//获取最佳包大小 MV_CC_SetIntValue(handle,"GevSCPSPacketSize",nPacketSize);//设置最佳包大小 MV_CC_SetEnumValue(handle, "TriggerMode", 0);//设置为不触发 memset(&stParam, 0, sizeof(MVCC_INTVALUE));//获取内存大小 MV_CC_GetIntValue(handle, "PayloadSize", &stParam); g_nPayloadSize = stParam.nCurValue + 2048;//0、2048、4096都试过 MV_CC_StartGrabbing(handle);//开始取流 stImageInfo = {0}; memset(&stImageInfo, 0, sizeof(MV_FRAME_OUT_INFO_EX)); pData = (unsigned char *)malloc(sizeof(unsigned char)* g_nPayloadSize); nRet = MV_CC_GetOneFrameTimeout(handle, pData, g_nPayloadSize, &stImageInfo, 1000); ///这里提示nRet != MV_OK ///pData无数据,代码0x80000007 ///继续点,错误的参数,代码0x80000004 ///可发QT源码检查 ``` 可发QT源码检查
java海康SDK二次开发,可以直接获取局域网的摄像头吗?
请问各位大佬,java海康SDK二次开发可以直接获取到局域网内在线的摄像头信息吗 ??? 如果可以那么这样获取了????
java 海康SDK二次开发有没有获取所有摄像头ip的函数
有个需要自己改java 海康SDK二次开发 ,做一个平台 , 本人不会C , 我在海康的开发api里面没有看到有获取所有在线摄像头ip的函数 只找到了一个类型的如下: **函数 获取所有 IP,用于支持多网卡接口 NET_DVR_GetLocalIP** 函 数: BOOL NET_DVR_GetLocalIP(char strIP[16][16], DWORD *pValidNum, BOOL *pEnableBind) 参 数: [out] strIP 存放 IP 的缓冲区,不能为空 [out] pValidNum 所有有效 IP 的数量 [out] pEnableBind 是否绑定 所有有效 IP 的数量 是否绑定 返回值: TRUE 表示成功,FALSE 表示失败。接口返回失败请调用 NET_DVR_GetLastError 获取错误码,通 过错误码判断出错原因。 说 明: 该接口获取客户端本地多网卡的所有 IP 地址,可以通过接口 NET_DVR_SetValidIP 选择要使用的 IP 地址 但是我在官方给的开发包里,没有发现这个函数 , 有没有大佬可以指教一下
关于海康CH_WEB3.0控件开发包V1.1.0_Win64的插件安装问题
我按照提示安装了webConponentkit.exe,电脑提示也安装了 ![图片说明](https://img-ask.csdn.net/upload/201908/07/1565150564_314121.png) 但是我用IE浏览器打开demo.html还是提示我要安装webConponentkit.exe,这是怎么回事? ![图片说明](https://img-ask.csdn.net/upload/201908/07/1565150674_310302.png)
调用海康的摄像头拍摄的视频获取车牌号
最近在做海康牌的摄像头相关的功能,最近碰到一个问题,就是使用海康的SDK 获取海康摄像头拍摄视频的车辆的车牌号?看了官网,没有java的相关Demo, 现在也没有什么思路,不知道这个问题该怎么解决。还有就是第一次调用别人 写好的东西来进行二次开发我都不知道怎样入手,请大神们给我指条明路!!
求组态王加入海康网络相机视频控件使用方法及接口定义!
如题,现使用海康相机,web页浏览成功,相机型号:DS-2ZCN2007。要做视频监视,使用两种方式: 1、网上找到的插件包NetVideoActiveX23.cab。加载完成。 ![图片说明](https://img-ask.csdn.net/upload/201712/01/1512117084_581223.jpg)=2&see_lz=1&red_tag=b1760081178) 做两个按钮,命令语言写日入,如上图。还是没有图像输出。 2、相机自带WebVideoActiveX插件,组态王可识别,无类似“”login“”登录控件接口指令, 求接口定义。或具体使用方法! 求高手指点!视频控件使用方法。 或提供WebVideoActiveX接口定义。
用opencv处理摄像头数据显示卡顿
需求是使用海康威视的摄像头调用opencv库来完成移动物体检测的功能 ,然后我while循环里面使用videocapture.read()和imshow()来读取和显示帧,没有问题,但是使用getStructuringElement,erode之类处理图片后显示会特别卡并且会越来越卡 最后就是会崩溃显示以下错误,用海康SDK不会出现崩溃问题 但一样很卡 求大神解答!!! ![图片说明](https://img-ask.csdn.net/upload/201911/11/1573441940_945284.png)
ffmpeg 推流 海康NVR的回放流 推成 mpegts
命令:ffmpeg -i rtsp://admin:qzxl025.@192.168.1.109:554/Streaming/tracks/201?starttime=20190821t09381 2z"&"endtime=20190821t164816z -f mpegts -codec:v mpeg1video -s 1280*720 http://192.168.1.40:8081/123/1 ![图片说明](https://img-ask.csdn.net/upload/201908/21/1566382729_586775.png) 如果直接摄像头的RTSP流就完全没问题 ![图片说明](https://img-ask.csdn.net/upload/201908/21/1566382744_94942.png) 这是什么原因啊,回放流和预览流有区别吗????求大佬解答一下
关于使用远程访问海康摄像头拍摄的视频问题
我使用网上提供的开发包,插件,实现远程访问海康摄像头拍摄的视频, 如下图: ![图片说明](https://img-ask.csdn.net/upload/201907/01/1561962755_645135.png) 我现在把连接摄像头的网线连接在电脑上,输入了ip,端口,用户名和密码,可是没有反应,但是我使用海康摄像头的客户端却可以显示摄像头拍摄的视频。 各位大神帮我看看出了什么问题?
关于海康摄像机的一些问题
最近在做关于hls直播的事情,连接摄像机接收ps流转为ts流,但是最近发现所连的海康摄像机出现了一些问题: 1.疯狂抛关键帧,有时候隔个3,4帧就来一帧关键帧 2.在没修改过代码的情况下,苹果手机忽然就无法播放接收海康摄像机发过来的流了,之前还是可以播放的。大华摄像机的流就可以正常的播放。 不知道有没有人遇到过这样的情况,或是提供一些解决的思路?
海康摄像机NET_DVR_CaptureJPEGPicture抓图
我在用四个海康摄像机,要求每秒抓图两次,根据用户手册用了NET_DVR_CaptureJPEGPicture函数,可是我发现没抓一次图大约用240毫秒,如果这样的话那我就没办法在一秒里每个摄像机抓两次图了。我想问问已经用过这个的前辈们我该怎么做才能提高抓图速度啊!谢谢了! 下面是我抓图的线程: CString strFilePath; strFilePicName.Empty(); strFilePicName= CTime::GetCurrentTime().Format("%Y-%m-%d-%H-%M");//记录当前时间并保存成CString类型 strFilePath=strFileName+strFilePicName; strFilePath=strFilePath+".jpg"; char* charFilePicName=strFilePath.GetBuffer(0); NET_DVR_JPEGPARA jpeginfo; jpeginfo.wPicQuality=2; jpeginfo.wPicSize=0; ret=NET_DVR_CaptureJPEGPicture(lUserID,1,&jpeginfo,charFilePicName);
海康sdk 回调函数取帧,是否存在丢包
现象描述: 海康sdk 回调函数取帧,作检测人脸,是不是会出现一张断层的人脸照。 如下图: ![图片说明](https://img-ask.csdn.net/upload/201908/01/1564637958_400591.jpg) 可能原因是什么? 调用函数为:NET_DVR_SetRealDataCallBack() BOOL NET_DVR_SetRealDataCallBack( LONG lRealHandle, fRealDataCallBack cbRealDataCallBack, DWORD dwUser ); 官方文档中提到这样几句话: 1、cbRealDataCallBack回调函数中不能执行可能会占用时间较长的接口或操作,不建议调用该SDK(HCNetSDK.dll)本身的接口。 2、此函数包括开始和停止用户处理SDK捕获的数据,当回调函数cbRealDataCallBack设为非NULL值时,表示回调和处理数据;当设为NULL时表示停止回调和处理数据。回调的第一个包是40个字节的文件头,供后续解码使用,之后回调的是压缩的码流。回调数据最大为256K字节。 官方也给出是实例代码: ``` #include <stdio.h> #include <iostream> #include <time.h> #include "plaympeg4.h" using namespace std; LONG lPort; //全局的播放库port号 void CALLBACK g_RealDataCallBack_V30(LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser) { HWND hWnd = GetConsoleWindow(); switch (dwDataType) { case NET_DVR_SYSHEAD: //系统头 if (!PlayM4_GetPort(&lPort)) //获取播放库未使用的通道号 { break; } //m_iPort = lPort; //第一次回调的是系统头,将获取的播放库port号赋值给全局port,下次回调数据时即使用此port号播放 if (dwBufSize > 0) { if (!PlayM4_SetStreamOpenMode(lPort, STREAME_REALTIME)) //设置实时流播放模式 { break; } if (!PlayM4_OpenStream(lPort, pBuffer, dwBufSize, 1024*1024)) //打开流接口 { break; } if (!PlayM4_Play(lPort, hWnd)) //播放开始 { break; } } case NET_DVR_STREAMDATA: //码流数据 if (dwBufSize > 0 && lPort != -1) { if (!PlayM4_InputData(lPort, pBuffer, dwBufSize)) { break; } } } } void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser) { char tempbuf[256] = {0}; switch(dwType) { case EXCEPTION_RECONNECT: //预览时重连 printf("----------reconnect--------%d\n", time(NULL)); break; default: break; } } void main() { //--------------------------------------- // 初始化 NET_DVR_Init(); //--------------------------------------- // 注册设备 LONG lUserID; NET_DVR_DEVICEINFO_V30 struDeviceInfo; lUserID = NET_DVR_Login_V30("172.0.0.100", 8000, "admin", "12345", &struDeviceInfo); if (lUserID < 0) { printf("Login error, %d\n", NET_DVR_GetLastError()); NET_DVR_Cleanup(); return; } //--------------------------------------- //设置异常消息回调函数 NET_DVR_SetExceptionCallBack_V30(0, NULL,g_ExceptionCallBack, NULL); //--------------------------------------- //启动预览并设置回调数据流 LONG lRealPlayHandle; NET_DVR_CLIENTINFO ClientInfo = {0}; ClientInfo.hPlayWnd = NULL; //需要SDK解码时句柄设为有效值,仅取流不解码时可设为空 ClientInfo.lChannel = 1; //预览通道号 ClientInfo.lLinkMode = 0; //最高位(31)为0表示主码流,为1表示子码流0~30位表示连接方式:0-TCP方式;1-UDP方式;2-多播方式;3-RTP方式; ClientInfo.sMultiCastIP = NULL; //多播地址,需要多播预览时配置 BOOL bPreviewBlock = false; //请求码流过程是否阻塞,0:否,1:是 lRealPlayHandle = NET_DVR_RealPlay_V30(lUserID, &ClientInfo, NULL, NULL, 0); if (lRealPlayHandle < 0) { printf("NET_DVR_RealPlay_V30 error\n"); NET_DVR_Logout(lUserID); NET_DVR_Cleanup(); return; } if (!NET_DVR_SetRealDataCallBack(lRealPlayHandle, g_RealDataCallBack_V30, 0)) { printf("NET_DVR_SetRealDataCallBack error\n"); } //--------------------------------------- //关闭预览 NET_DVR_StopRealPlay(lRealPlayHandle); //注销用户 NET_DVR_Logout_V30(lUserID); NET_DVR_Cleanup(); return; } ```
海康的web3.0捕捉人脸问题
使用海康的web3.0,采用他们的api在页面div上面显示出来视频了。前端如何通过js捕捉人脸拍照(tracking.js不支持div标签,而且改成video标签,海康的api又不支持。怎么办,很急)
关于海康车牌识别一体机的问题
摄像头型号: ![图片说明](https://img-ask.csdn.net/upload/201802/04/1517738419_279276.png) 现在的需求是要利用海康的车牌识别一体机提取车辆的信息,包括车辆的行驶方向。 在sdk文档中_NET_ITS_PLATE_RESULT 结构体中 有成员byDir和byCarDirectionType表示的是车辆的运动方向。 byDir 监测方向:1-上行(反向),2-下行(正向),3-双向,4-由东向西,5-由南向北,6-由西向东,7-由北向南,8-其它 byCarDirectionType 车辆具体行驶的方向:0- 从上往下,1- 从下往上 这两个成员我都试过,发现车辆的方向始终没有变化。 我实验的办法是这样的: ![图片说明](https://img-ask.csdn.net/upload/201802/04/1517739141_205505.png) 通过左右上下前后移动图片,byDir 和 byCarDirectionType的值都没有变化?byDir的值偶尔会变化,但几率很低大概50次才变化一次。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了
这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作,如果觉得不错,别吝啬你的赞哦。 1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。 2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。 3、它的左右子树也分别可以充当为二叉查找树。 例如: 例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
开源并不是你认为的那些事
点击上方蓝字 关注我们开源之道导读所以 ————想要理清开源是什么?先要厘清开源不是什么,名正言顺是句中国的古代成语,概念本身的理解非常之重要。大部分生物多样性的起源,...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
《C++ Primer》学习笔记(六):C++模块设计——函数
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数 文章目录专栏C+...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法不过,当我看了源代码之后这程序不到50
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
相关热词 c# 二进制截断字符串 c#实现窗体设计器 c#检测是否为微信 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片
立即提问