MFC list control自适应性大小

楼主,你好,有个mfc 下list control控件想请教一下你,就是表格控件自适应性对话框大小时,在onsize事件中重新设置列宽,表头的宽度没反应,这是什么原因呢

3个回答

这个你得贴出onsize部分的代码出来 才能帮你看一下了

//代码
void CHouseManagerListDlg::OnSize(UINT nType, int cx, int cy)
{
CXTPResizeDialog::OnSize(nType, cx, cy);

// TODO: 在此处添加消息处理程序代码
if (NULL != m_houseListCtrl)
{
    CRect rect;
    GetClientRect(&rect);
    rect.top += 50;
    rect.bottom -= 10;
    rect.left += 10;
    rect.right -= 0;

    m_houseListCtrl.SetColumnWidth(0, (int)(1.0*rect.Width()/7.0));
    m_houseListCtrl.SetColumnWidth(1, (int)(4.0*rect.Width()/7.0));
    m_houseListCtrl.SetColumnWidth(2, rect.Width() - (int)(5.0*rect.Width()/7.0));

    m_houseListCtrl.MoveWindow(&rect);
}

}

//目前的结果--拉伸前
图片说明

//拉伸后的贴图
图片说明

帖主您好,问题解决了么。求指导

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
求高手指点MFC list control如何将获取资料夹里的内容挑出重复数据
MFC list control如何将获取资料夹里的内容挑出重复数据,或者按创建时间保留最后两笔资料 最好提供代码
MFC list control问题
在主对话框中点击添加按钮弹出一个对话框,在该对话框中的各编辑控件中输入数据,点击“确定”键后则将输入的数据显示到主对话框中的list control中。 能支持多次输入的显示,按“取消”键则本次输入无效不显示添加。 成功后在主对话框中点击“保存”后能将数据保存到文件中。 求详细思路及所需要用到的知识点。 新人一枚,求各位过路大侠解答。
在MFC中使用List Control做表格
在基于对话框的MFC中添加了一个List Control控件,属性设置为report,显示栅格GridLines,用它来做一个4行10列的表格,现在是显示的10列,但行数是自动显示了很多行,要怎样设置才能让它只显示4行呢?
请问mfc中dialog的滚动条长度要怎么做到自适应窗口大小啊?
请问mfc中dialog的滚动条长度要怎么做到自适应窗口大小啊?
mfc tab control中添加的dialog长度大于tab时,怎么添加适应长度的滚动条啊?
mfc tab control中添加的dialog长度大于tab时,怎么添加适应长度的滚动条啊?
MFC中list control中添加进度条
就是类似于迅雷的功能,在list中显示下载进度,解释详细一点
关于mfc tree control设置焦点的问题
选中一个tree control的子项后 在进行另一个操作时,会失去刚才的焦点,我现在直想让刚才的选中项保持长亮,就像list control一样,求解决方案,谢谢
MFC 怎么从TXT文件里面读取数据并显示到list control中
要写一个通讯录管理系统,txt里面存放联系人的信息,但是要怎么显示到list control里面啊
MFC edit control控件循环显示问题
各位大佬麻烦帮忙看一下,我想实现枚举进程的功能,一开始使用list box控件但是无法实现换行。。。所以改用edit control,运行后发现只显示最后一个进程,不能循环显示 控件代码如下: ``` void Cprocessor1Dlg::OnBnClickedEnumProcess() { // TODO: 在此添加控件通知处理程序代码 CString str; PROCESSENTRY32 pe; //设置结构体pe的大小 pe.dwSize = sizeof(pe); //获取系统内进程的快照 HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if (hProcessSnap == INVALID_HANDLE_VALUE) { this->MessageBox("CreateToolhelp32Snapshot error.\n"); //return -1; } //遍历进程快照,显示每个进程的信息 BOOL bMore = ::Process32First(hProcessSnap,&pe); while (bMore) { UpdateData(TRUE); str.Format("Process Name:%s\r\nPID:%u\r\nNumber of Thread:%u ",pe.szExeFile,pe.th32ProcessID,pe.cntThreads); //str.Format("Process Name:%s\n",pe.szExeFile); //str.Format("PID:%u\n",pe.th32ProcessID); //str.Format("Number of Thread:%u\n",pe.cntThreads); //str.Format("==========================\n\n"); bMore = ::Process32Next(hProcessSnap,&pe); m_enum1.SetWindowTextA(str); UpdateData(FALSE); } //释放snapshot对象 ::CloseHandle(hProcessSnap); } ``` ![图片说明](https://img-ask.csdn.net/upload/201910/16/1571220161_330500.png)
VC++MFC工程做自适应中值滤波
求完整的自适应中值滤波程序,要求有源程序,可执行程序。之前在网上找的都不太好模仿,希望直接在view里做,不要各种引申函数,就在一个大括号里做完的。拜托拜托!!急啊!![图片说明](https://img-ask.csdn.net/upload/201512/26/1451124103_613810.png)![图片说明](https://img-ask.csdn.net/upload/201512/26/1451124335_65815.png)
VS2010 MFC tab control控件
我将标签设置在bottom时,可以显示标签并可以点击,但是对话框没有内容显示 更没有切换效果,请问这是何故?但是我设置在顶部时,一切正常! 附上简短的代码: 在OnInitDialog中如下: SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 CRect tabRect; // 标签控件客户区的位置和大小 m_tab.InsertItem(0, _T("JAVA开发网")); // 插入第一个标签“鸡啄米” m_tab.InsertItem(1, _T("Android开发网"));// 插入第二个标签“Android开发网” m_tab.InsertItem(2, _T("MFC开发网")); m_dialog1.Create(IDD_DIALOG1,&m_tab); // 创建第一个标签页 m_dialog2.Create(IDD_DIALOG2,&m_tab); // 创建第二个标签页 m_dialog3.Create(IDD_DIALOG3,&m_tab); m_tab.GetClientRect(&tabRect); // 获取标签控件客户区Rect // 调整tabRect,使其覆盖范围适合放置标签页 tabRect.left += 1; tabRect.right -= 1; tabRect.top -= 1; tabRect.bottom +=20; // 根据调整好的tabRect放置m_jzmDlg子对话框,并设置为显示 m_dialog1.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW); // 根据调整好的tabRect放置m_androidDlg子对话框,并设置为隐藏 m_dialog2.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); m_dialog3.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE 响应函数如下: void Ctest26Dlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult) { // TODO: 在此添加控件通知处理程序代码 *pResult = 0; CRect tabRect; // 标签控件客户区的Rect // 获取标签控件客户区Rect,并对其调整,以适合放置标签页 m_tab.GetClientRect(&tabRect); tabRect.left += 1; tabRect.right -= 1; tabRect.top -= 1; tabRect.bottom += 20; switch (m_tab.GetCurSel()) { // 如果标签控件当前选择标签为“鸡啄米”,则显示m_jzmDlg对话框,隐藏m_androidDlg对话框 case 0: m_dialog1.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW); m_dialog2.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); m_dialog3.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); break; // 如果标签控件当前选择标签为“Android开发网”,则隐藏m_jzmDlg对话框,显示m_androidDlg对话框 case 1: m_dialog1.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); m_dialog2.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW); m_dialog3.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); break; case 2: m_dialog1.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); m_dialog2.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW); m_dialog3.SetWindowPos(NULL, tabRect.left, tabRect.bottom, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW); break; default: break; } }
list control插入的图标怎么居中?
在mfc中,使用list control插入的图标怎么居中?每次都是居左显示呢?急
mfc如何判断picture control控件是否为空
mfc如何判断picture control控件是否为空,就是有没有图片
MFC Edit Browse Control 使用
我写了一个对话框,上面拖了一个MFC Edit Brows Control 的控件 ! [图片说明](https://img-ask.csdn.net/upload/201608/09/1470727469_358084.png) 在程序里调用这句话来弹出窗口: DialogBox(hInst, MAKEINTRESOURCE(IDD_SELECT), hWnd, Select); 但我现在程序执行的时候窗口跳不出来,也没有报任何错误。如果我把MFC Edit Brows Control换成一个普通的Edit Control 这个窗口又是能跳出来的== 求巨巨指导!!!
MFC CEdit自定义密码编辑框显示字符问题
MFC密码编辑框默认显示的是‘*’,如何显示为黑点,我利用SetPasswordChar(_T('●')),显示为问号,求大神解答
MFC的picture control绘制ROI
目前遇到了一个棘手的问题,界面用MFC搭建,利用opencv,在picture control控件上显示USB摄像头采集的视频画面,现在想在画面上绘制一个ROI,相关处理在得到的ROI区域进行。目前只知道可以在opencv自己的窗口中绘制ROI,但不知道如何在picture control控件中绘制,各位如果有知道的,还望予以知道,不胜感激!
MFC框架下自定义类中定义多线程问题
本人尝试在MFC框架下自定义一个类,该类负责接收和解码视频数据,因此需要在该类中定义多线程来做这件事情,以防止在对话框调用该类的时候卡死。 目前本人在自定义类中使用了static的方式开启了多线程,在win10下运行也很正常。然而在测试兼容性的时候发现该程序在win7 64位下会出错,出错的原因似乎是因为我在类内使用了static函数定义了多线程,而我又声明了该类的几个实体,因此static函数出现了调用实体出错的问题。 想问问看: 1.有没有老哥遇到过这种问题? 2.有没有比较好的解决思路? 3.是不是不应该在一个类中用static函数的形式定义线程? 4.像多路接收解码的功能除了封装成一个类然后使用多个实体来做外,还有没有更好的封装方式? ``` class HWdecode { public: bool changertspurl = false;//是否改变rtsp的地址标志 bool reconnect = false;//需要断线重连标志 bool haveconnect = false;//正常连接标志位 CCriticalSection* mlock;//线程临界区 bool dodecodesave = false;//像素转换开启标志位 //参数对象 FFmpegDemuxer* demuxer = NULL;//FFMPEG对象 CUcontext cuContext;//Cuda设备 NvDecoder* dec = NULL;//Cuda解码对象 CUdeviceptr dpFrame = 0;//数据存储对象初始化 int hwinit()//显卡设备初始化 { int iGpu = 0;//选择解码播放的GPU,只有一个的话直接设置为0就行 //检测硬件GPU设备 ck(cuInit(0)); int nGpu = 0; ck(cuDeviceGetCount(&nGpu)); if (iGpu < 0 || iGpu >= nGpu) { std::cout << "没有相应的GPU" << std::endl; return 0; } //获得CUDA对象 CUdevice cuDevice = 0; ck(cuDeviceGet(&cuDevice, iGpu)); char szDeviceName[80]; ck(cuDeviceGetName(szDeviceName, sizeof(szDeviceName), cuDevice)); std::cout << "GPU in use: " << szDeviceName << std::endl; ck(cuCtxCreate(&cuContext, CU_CTX_SCHED_BLOCKING_SYNC, cuDevice)); return 1; } int ffmpeginit(char* url)//ffmpeg对象初始化 { demuxer = new FFmpegDemuxer(url); if (demuxer->fmtc == NULL) { return 0; } else { //RGBA帧存储显存初始化 return 1; } } void cudadecoderinit()//cuda解码对象初始化 { ck(cuMemAlloc(&dpFrame, demuxer->GetWidth() * demuxer->GetHeight() * 4)); //解码器初始化 dec = new NvDecoder(cuContext, (*demuxer).GetWidth(), (*demuxer).GetHeight(), true, FFmpeg2NvCodecId((*demuxer).GetVideoCodec())); } DWORD decAndshow()//解码和播放 { int nVideoBytes = 0, nFrameReturned = 0, nFrame = 0; uint8_t* pVideo = NULL, ** ppFrame; long bt = clock(); do { uint8_t* getdpframe = (uint8_t*)dpFrame; demuxer->Demux(&pVideo, &nVideoBytes);//获取一帧视频数据 dec->Decode(pVideo, nVideoBytes, &ppFrame, &nFrameReturned);//解码这一帧数据 //if (!nFrame && nFrameReturned) // LOG(INFO) << HWD.dec->GetVideoInfo(); if (dodecodesave) { for (int i = 0; i < nFrameReturned; i++) { mlock->Lock(); //对解码出来的图像数据类型做转换,转到BGRA printf("GetWidth %d\n", dec->GetWidth()); printf("GetHeight %d\n", dec->GetHeight()); if (dec->GetBitDepth() == 8) { if (dec->GetOutputFormat() == cudaVideoSurfaceFormat_YUV444) YUV444ToColor32<RGBA32>((uint8_t*)ppFrame[i], dec->GetWidth(), getdpframe, 4 * dec->GetWidth(), dec->GetWidth(), dec->GetHeight()); else // default assumed as NV12 Nv12ToColor32<RGBA32>((uint8_t*)ppFrame[i], dec->GetWidth(), getdpframe, 4 * dec->GetWidth(), dec->GetWidth(), dec->GetHeight()); } mlock->Unlock(); } } nFrame += nFrameReturned; } while (nVideoBytes && changertspurl == false); changertspurl = false;//将rtsp地址修改标志位重新设置为否 printf("退出,尝试断线连回\n"); reconnect = true; delete demuxer; std::cout << "Total frame decoded: " << nFrame << std::endl; std::cout << "花费时间:" << clock() - bt << "ms" << std::endl; std::cout << "FPS:" << nFrame / ((clock() - bt) / 1000.0) << std::endl; return 1; } HANDLE pRecvAndShowThread;//接收显示线程对象 static DWORD ThreadRtspRecvShowFun(LPVOID lpParam) { return ((HWdecode*)lpParam)->decAndshow();//调用线程的处理函数 } int Star(char* url, CCriticalSection * lock) { mlock = lock; if (!hwinit())//初始化硬件设备 { std::cout << "硬件初始化失败!" << std::endl; return 0; } if (!ffmpeginit(url))//初始化硬件设备 { std::cout << "无法连接码流!" << std::endl; return 0; } cudadecoderinit(); pRecvAndShowThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)HWdecode::ThreadRtspRecvShowFun, this, 0, NULL); return 1; } int ReStar(char* url, CCriticalSection* lock)//断线重连 { if (!ffmpeginit(url))//初始化硬件设备 { std::cout << "无法连接码流!" << std::endl; return 0; } if (!haveconnect) { cudadecoderinit(); } pRecvAndShowThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)HWdecode::ThreadRtspRecvShowFun, this, 0, NULL); return 1; } }; ```
MFC table control 切换触发事件
比如我有table1 table2 table3 在table2打开了定时监控功能 当切换到table1或者table3时 该监控功能关闭 应该怎么触发这个事件啊
MFC picture control 显示bmp图像问题
请大家帮我看看,这是一个用MFC做的打开24位真彩色图像,并进行处理显示的程序。目前有两个问题: 1. 本人打开320*240大小的24位真彩色BMP图像,数据大小应该为320*240 = 230400字节,但是代码中变量dataBytes 为何是230402。 2. 现在我是先将彩色图像数据进行灰度化(此时数据缩小为原来的1/3),然后把数据扩充(如showData函数所示)到彩色数据的大小,再进行显示。结果图:灰度图能显示完整,但有分布均匀的灰度一致的像素点。另外还有原本图像下半部区域的图像进行了放大并叠加在上半部。 ![图片说明](https://img-ask.csdn.net/upload/201604/30/1461988616_224865.png) ![图片说明](https://img-ask.csdn.net/upload/201604/30/1461988653_408338.png) 我怀疑是StretchDIBits显示函数和dataBytes 变量存在问题,但找了很久没有发现,忘大家不吝赐教,万分感谢。 ``` BITMAPINFO *pBmpInfo; unsigned short iBmpWidth,iBmpHeight; BYTE *pBmpData; BYTE *pGray; BYTE *pShowGray; //picture control 定义 CWnd *pWnd; CRect rect; CDC *pDC; void showData(BYTE *in,BYTE *out,unsigned short width,unsigned short height) { unsigned long i; unsigned long len = width * height; for(i = 0;i < len; i++) { out[i*3] = in[i]; out[i*3+1] = in[i]; out[i*3+2] = in[i]; } } /************************24位彩图转8位灰度图——Gray = R*a + G*b + B*c*****************************/ void ColtoGray(BYTE *imageIn,BYTE *imageOut,float a,float b,float c) { long area = IMAGEHEIGHT * IMAGEWIDTH; long index; unsigned char n; float sum=0; for(index = 0;index < area;index ++) { for(n=0;n<3;n++) { switch(n) { case 0: sum=sum+imageIn[index]*a; break; case 1: sum=sum+imageIn[index*3+1]*b; break; case 2: sum=sum+imageIn[index*3+2]*c; break; } } imageOut[index]=sum; sum=0; } } //打开按钮按下,打开24位真彩色图片 void CMFCDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 BITMAPFILEHEADER bmpHeader;//文件头 BITMAPINFOHEADER bmpInfo;//信息头 CFileDialog dlg( TRUE , "(*.bmp)|*.bmp","*.bmp" ,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT ,"位图文件(*.bmp)"); CFile bmpFile;//记录打开文件 CString strFileName;//记录选择文件路径 if (!dlg.DoModal() == IDOK) return; strFileName = dlg.GetPathName(); //以只读的方式打开文件 if(!bmpFile.Open(strFileName, CFile::modeRead|CFile::typeBinary)) return; if (bmpFile.Read(&bmpHeader,sizeof(BITMAPFILEHEADER)) != sizeof(BITMAPFILEHEADER)) { AfxMessageBox("读取文件失败!"); return; } if (bmpHeader.bfType != 0x4d42) { AfxMessageBox("未能识别bmp格式文件!"); return; } if (bmpFile.Read(&bmpInfo,sizeof(BITMAPINFOHEADER)) != sizeof(BITMAPINFOHEADER)) { AfxMessageBox("读取bmp文件头失败!"); return; } if (bmpInfo.biBitCount != 24) { AfxMessageBox("您读取的不是24位真彩色图像!"); return; } pBmpInfo = (BITMAPINFO *)new char[sizeof(BITMAPINFOHEADER)]; if (!pBmpInfo) { AfxMessageBox("内存分配错误!"); return; } //为图像数据申请空间 memcpy(pBmpInfo,&bmpInfo,sizeof(BITMAPINFOHEADER)); DWORD dataBytes = bmpHeader.bfSize - bmpHeader.bfOffBits; pBmpData = (BYTE*)new char[dataBytes]; if (!pBmpData) { AfxMessageBox("内存分配错误!"); delete pBmpData; return; } if (bmpFile.Read(pBmpData,dataBytes) != dataBytes) { AfxMessageBox("读取图像数据失败!"); delete pBmpInfo; delete pBmpData; return; } bmpFile.Close(); pWnd=GetDlgItem(IDC_STATIC);//获得pictrue控件窗口的句柄 //CRect rect; pWnd->GetClientRect(&rect);//获得pictrue控件所在的矩形区域 pDC=pWnd->GetDC();//获得pictrue控件的DC //显示图片 pDC->SetStretchBltMode(COLORONCOLOR); StretchDIBits(pDC->GetSafeHdc(),0,0,rect.Width(),rect.Height(),0,0,bmpInfo.biWidth,bmpInfo.biHeight,pBmpData,pBmpInfo,DIB_RGB_COLORS,SRCCOPY); iBmpWidth=bmpInfo.biWidth; iBmpHeight=bmpInfo.biHeight; } //灰度化按下 void CMFCDlg::OnBnClickedButton3() { // TODO: 在此添加控件通知处理程序代码 pGray = (BYTE*)new char[320*240]; pShowGray = (BYTE*)new char[320*240*3]; ColtoGray(pBmpData,pGray,0.3,0.3,0.3); showData(pGray,pShowGray,iBmpWidth,iBmpHeight); pWnd=GetDlgItem(IDC_STATIC);//获得pictrue控件窗口的句柄 //CRect rect; pWnd->GetClientRect(&rect);//获得pictrue控件所在的矩形区域 pDC=pWnd->GetDC();//获得pictrue控件的DC //显示图片 pDC->SetStretchBltMode(COLORONCOLOR); StretchDIBits(pDC->GetSafeHdc(),0,0,rect.Width(),rect.Height(),0,0,iBmpWidth,iBmpHeight,pShowGray,pBmpInfo,DIB_RGB_COLORS,SRCCOPY); } ```
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
进程通信方式总结与盘点
​ 进程通信是指进程之间的信息交换。这里需要和进程同步做一下区分,进程同步控制多个进程按一定顺序执行,进程通信是一种手段,而进程同步是目标。从某方面来讲,进程通信可以解决进程同步问题。 ​ 首先回顾下我们前面博文中讲到的信号量机制,为了实现进程的互斥与同步,需要在进程间交换一定的信息,因此信号量机制也可以被归为进程通信的一种方式,但是也被称为低级进程通信,主要原因为: 效率低:一次只可操作少量的...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
听说了吗?阿里双11作战室竟1根网线都没有
双11不光是购物狂欢节,更是对技术的一次“大考”,对于阿里巴巴企业内部运营的基础保障技术而言,亦是如此。 回溯双11历史,这背后也经历过“小米加步枪”的阶段:作战室从随处是网线,交换机放地上的“一地狼藉”;到如今媲美5G的wifi网速,到现场却看不到一根网线;从当年使用商用AP(无线路由器),让光明顶双11当天断网一分钟,到全部使用阿里自研AP……阿里巴巴企业智能事业部工程师们提供的基础保障...
在阿里,40岁的奋斗姿势
在阿里,40岁的奋斗姿势 在阿里,什么样的年纪可以称为老呢?35岁? 在云网络,有这样一群人,他们的平均年龄接近40,却刚刚开辟职业生涯的第二战场。 他们的奋斗姿势是什么样的呢? 洛神赋 “翩若惊鸿,婉若游龙。荣曜秋菊,华茂春松。髣髴兮若轻云之蔽月,飘飖兮若流风之回雪。远而望之,皎若太阳升朝霞;迫而察之,灼若芙蕖出渌波。” 爱洛神,爱阿里云 2018年,阿里云网络产品部门启动洛神2.0升...
关于研发效能提升的思考
研发效能提升是最近比较热门的一个话题,本人根据这几年的工作心得,做了一些思考总结,由于个人深度有限,暂且抛转引入。 三要素 任何生产力的提升都离不开这三个因素:人、流程和工具,少了其中任何一个因素都无法实现。 人,即思想,也就是古人说的“道”,道不同不相为谋,是制高点,也是高层建筑的基石。 流程,即方法,也是古人说的“法”。研发效能的提升,也就是要提高投入产出比,既要增加产出,也要减...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
入职阿里5年,他如何破解“技术债”?
简介: 作者 | 都铎 作为一名技术人,你常常会听到这样的话: “先快速上线” “没时间改” “再缓一缓吧” “以后再解决” “先用临时方案处理” …… 当你埋下的坑越来越多,不知道哪天哪位同学就会踩上一颗雷。特别赞同“人最大的恐惧就是未知,当技术债可说不可见的时候,才是最让人不想解决的时候。” 作为一个程序员,我们反对复制粘贴,但是我们经常会见到相似的代码,相同的二方包,甚至整个代码...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
Java坑人面试题系列: 包装类(中级难度)
Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/quiz-2。 这些问题的设计宗旨,主要是测试面试者对Java语言的了解程度,而不是为了用弯弯绕绕的手段把面试者搞蒙。 如果你看过往期的问题,就会发现每一个都不简单。 这些试题模拟了认证考试中的一些难题。 而 “中级(intermediate)” 和 “高级(ad
深度学习入门笔记(十八):卷积神经网络(一)
欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
Java基础知识点梳理 摘要: 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。 Java简介 java语言于1995年正式推出,最开始被命名为Oak语言,由James Gosling(詹姆
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
你也能看懂的:蒙特卡罗方法
蒙特卡罗方法,也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法 蒙特卡罗方法可以粗略地分成两类:一类是所求解的问题本身具有内在的随机性,借助计算机的运算能力可以直接模拟这种随机的过程。另一种类型是所求解问题可以转化为某种随机分布的特征数,比如随机事件出现的概率,或...
相关热词 c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程 c# 倒计时 线程 c# 窗体背景色
立即提问