QList<类>,使用的问题 5C

想用QList来记录一个类Farm,程序如下:
List DatabaseUtilities::getAllFarms()
{
QList listFarm;
QSqlQuery query(QSqlDatabase::database(m_connName));
QString qs="select * from farms";
query.exec(qs);
while(query.next())
{
Farm *farm=new Farm();
farm->m_sName=query.value(1).toString();
farm->m_sAddr=query.value(2).toString();
farm->m_sNum=query.value(3).toString();
listFarm.append(*farm);
}
return listFarm;
}

class Farm : public QObject
{
Q_OBJECT
public:
explicit Farm(QObject *parent = 0);
QString m_sName;
QString m_sAddr;
QString m_sNum;
signals:
public slots:
private:
};
一直报错说Object是私有对象,请问,什么问题,怎么改?

2个回答

List DatabaseUtilities::getAllFarms()
这个定义成public了么

http://www.kuqin.com/qtdocument/qobject-h.html

对比这个头文件看。。。

superbanma
superbanma 怎么个比法呢?
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
qt中的QList类,在遍历一遍后链表变为空是怎么回事

我在qt中使用QList存储了一个自定义的数据结构,在对这个数据结构的内容取值后整个链表变为空的链表,不知道这是怎么回事

关于qlist存储自定义数据

请教各位大神,改自定义数据类型的字节数是9000,问qlist能够存储改数据最大值是多少

QList添加自定义数据结构出错

这是我自定义的一个类: ``` class ConcentratorInfo : public QObject { Q_OBJECT public: explicit ConcentratorInfo(QObject *parent = 0); public: //集中器id QString id; //集中器地址 int addr; //套接字 QTcpSocket *socket; QString initTime; //集中器在线状态 int status; QString quiryTime; //线程地址 DownService *downService; /*终端数传机延时时间*/ int rts; /*终端作为启动站允许发送传输延时时间*/ int sendPropagationDelay; /*终端等待从动站响应的超时时间和重发次数*/ int responseTimeoutSecond; int responseTimeoutFrequency; /*需要主站确认的通信服务(CON=1)的标志*/ int needVerifyService; /*心跳周期*/ int heartbeatPeriod; /*主站地址*/ int masterIP1; int masterIP2; int masterIP3; int masterIP4; /*主站端口号*/ int masterPort; /*备用ip*/ int alternateIP1; int alternateIP2; int alternateIP3; int alternateIP4; /*备用端口号*/ int alternatePort; /*APN*/ QString apn; public: Q_INVOKABLE QString idRead(); Q_INVOKABLE void idWrite(QString); Q_INVOKABLE QString addrRead(); Q_INVOKABLE void addrWrite(QString); Q_INVOKABLE int statusRead(); Q_INVOKABLE void statusWrite(int); Q_INVOKABLE int rtsRead(); Q_INVOKABLE void rtsWrite(int); Q_INVOKABLE int sendPropagationDelayRead(); Q_INVOKABLE void sendPropagationDelayWrite(int); Q_INVOKABLE int responseTimeoutSecondRead(); Q_INVOKABLE void responseTimeoutSecondWrite(int); Q_INVOKABLE int responseTimeoutFrequencyRead(); Q_INVOKABLE void responseTimeoutFrequencyWrite(int); Q_INVOKABLE int needVerifyServiceRead(); Q_INVOKABLE void needVerifyServiceWrite(int); Q_INVOKABLE int heartbeatPeriodRead(); Q_INVOKABLE void heartbeatPeriodWrite(int); Q_INVOKABLE int masterIP1Read(); Q_INVOKABLE void masterIP1Write(int); Q_INVOKABLE int masterIP2Read(); Q_INVOKABLE void masterIP2Write(int); Q_INVOKABLE int masterIP3Read(); Q_INVOKABLE void masterIP3Write(int); Q_INVOKABLE int masterIP4Read(); Q_INVOKABLE void masterIP4Write(int); Q_INVOKABLE int masterPortRead(); Q_INVOKABLE void masterPortWrite(int); Q_INVOKABLE int alternateIP1Read(); Q_INVOKABLE void alternateIP1Write(int); Q_INVOKABLE int alternateIP2Read(); Q_INVOKABLE void alternateIP2Write(int); Q_INVOKABLE int alternateIP3Read(); Q_INVOKABLE void alternateIP3Write(int); Q_INVOKABLE int alternateIP4Read(); Q_INVOKABLE void alternateIP4Write(int); Q_INVOKABLE int alternatePortRead(); Q_INVOKABLE void alternatePortWrite(int); Q_INVOKABLE QString apnRead(); Q_INVOKABLE void apnWrite(QString); signals: public slots: }; #endif // CONCENTRATORINFO_H ``` 这是我定义的一个QList: ``` QList<ConcentratorInfo> concentratorList; ``` 但是在使用append添加到一个QList是程序就会报错。 ``` concentratorList.append(concentratorStruct); ``` 报如下错误: 1、D:\qt5.4.2\5.4\mingw491_32\include\QtCore\qobject.h:463: error: 'QObject::QObject(const QObject&)' is private Q_DISABLE_COPY(QObject) ^ 2、E:\git\windowopener\src\daemon\ConcentratorInfo.h:7: error: within this context class ConcentratorInfo : public QObject ^ 3、D:\qt5.4.2\5.4\mingw491_32\include\QtCore\qglobal.h:1022: error: 'QObject& QObject::operator=(const QObject&)' is private Class &operator=(const Class &) Q_DECL_EQ_DELETE; ^ 4、E:\git\windowopener\src\daemon\ConcentratorInfo.h:7: error: within this context class ConcentratorInfo : public QObject ^ 请问这是问什么?

QList里保存指针数据,头指针前一位置的指针总不为空?

``` ... QList<int *> myList; ... int *_p = myList[i]; // 如果i 为0,以下就有问题 int* _prep = _p - 1; // 如果i 为0,_prep为什么不是空的 if (NULL != _prep ) // _prep总不为空 { *_prep = 10; // 报错 //... } ```

C++ 参数为自定义类的引用问题

更新:已解决 我在while的外面定义了marks和ArbitrageFreeInterpolater变量,再在循环中赋值获取参数,再赋值给这两个变量,结果就对了~~ 第一次在CSDN上提问,C++新手,下面是我写的一个作业的一部分,卡在一个问题很久了,一直出不来结果,希望大神可以帮忙看看,多谢了!! int main(int argc, char* argv[]) { ifstream fin; fin.open("/Users/gxy/Desktop/eurusd.txt",0); if(!fin) { cerr << "input file does not exist" << endl; return 1; } double spot, rd, rf; fin >> spot >> rd >> rf; double mu = rd - rf; std::cout << "-------------------Input------------------\n" << "spot = " << spot << std::endl << "rd = " << rd << std::endl << "rf = " << rf << std::endl << "t \t ATM \t MS25 \t RR25 \t MS10 \t RR10" << std::endl; vector< pair<double, Smile&> > pillarSmiles; vector<double> kmin, kmax; int a = 0; while(!fin.eof()) { double t; double atmvol; double ms25; double rr25; double ms10; double rr10; if (fin >> t >> atmvol >> ms25 >> rr25 >> ms10 >> rr10) { cout << t << "\t" << atmvol << "\t" << ms25 << "\t" << rr25 << "\t" << ms10 << "\t" << rr10 << std::endl; vector< pair<double, double> > marks = input2Marks(spot, rd, rf, t, atmvol, ms25, rr25, ms10, rr10); ArbitrageFreeInterpolator af(t, marks, spot, mu); pillarSmiles.push_back( pair<double, Smile&>(t, af) ); **std::cout<< "pillarSmiles[" << a <<"].second.Vol(1.3)= "<<pillarSmiles[a].second.Vol(1.3)<<std::endl; //test1** kmin.push_back(marks.front().first); // for plotting the charts only kmax.push_back(marks.back().first); } **std::cout<< "out of if pillarSmiles[" << a <<"].second.Vol(1.3)= "<<pillarSmiles[a].second.Vol(1.3)<<std::endl; //test2** a++; } ImpliedVol iv(pillarSmiles); LocalVol lv(iv, spot, rd, rf); ImpliedVol,LocalVol,Smile都是自定义的类,AbitrageFreeInterpolator是Smile的子类,声明如下: class Smile { public: virtual double Vol(double strike) const = 0; }; class ImpliedVol { public: ImpliedVol( const vector< pair<double, Smile&> > ); // linear interpolation in variance, along the strike line double Vol(double t, double k) const; double dVoldK(double t, double k) const {return (Vol(t, k+0.01) - Vol(t, k-0.01)) / 0.02; } double dVoldT(double t, double k) const {return (Vol(t+0.005, k) - Vol(t, k)) / 0.005; } double dVol2dK2(double t, double k) const {return (Vol(t, k+0.01) + Vol(t, k-0.01) - 2*Vol(t, k) ) / 0.01 / 0.01; } private: const vector< pair<double, Smile&> > pillarSmiles; }; class ArbitrageFreeInterpolator : public Smile { public: ArbitrageFreeInterpolator(double _t, const vector< pair<double, double> >& _marks, double _S, double _mu); virtual double Vol(double strike) const; private: vector< pair<double, double> > marks; //M (k, sigma) input pairs; double S; // Spot price; double mu; // drift of spot; double t; //time to maturity(in unit of year); vector< pair<double, double> > outputmarks; // N (k, c)pairs; vector<double> y2; // second derivatives; }; Input文件内容如下: 1.25805 0.0100 0.0030 0.02 0.1550 0.0016 -0.0065 0.0050 -0.0111 0.04 0.1395 0.0016 -0.0110 0.0050 -0.0187 0.06 0.1304 0.0021 -0.0143 0.0067 -0.0248 ...... 想问一下main函数中我两处cout的测试结果(test1,test2)为什么不同,if里面cout出的结果是对的,出了if结果就不对了,哪里改变了,是因为参数是引用的问题吗,要怎么改呢?

急求使用Qt遍历打开文件夹,并把所有子文件的路径显示在ListWidget中,求大神帮忙!

bool StyleBatch::findFilePath(QString path) { QDir dir(path); if (!dir.exists()) return 0; dir.setFilter(QDir::Dirs|QDir::Files); dir.setSorting(QDir::DirsFirst); QFileInfoList list = dir.entryInfoList(); QStringList infolist = dir.entryList(QDir::Files | QDir::NoDotAndDotDot); //QList<QFileInfo> *fileInfo=new QList<QFileInfo>(dir.entryInfoList(infolist)); int i = 0; do{ QFileInfo fileInfo = list.at(i); if(fileInfo.fileName()=="."|fileInfo.fileName()=="..") { i++; continue; } bool bisDir = fileInfo.isDir(); if(bisDir) { findFilePath(fileInfo.filePath()); } else { //这里就是你想要对文件的操作了 for(int m = 0; m <infolist.size(); m++) { //这里是获取当前要处理的文件名 QString filename = infolist.at(m); //QString filepath=fileInfo.absoluteFilePath(); qDebug()<<filepath; ui->listWidgetFiles->addItems((QStringList)filename);//这里主要只是添加文件名到ListWidgetFiles中,然而我后面需要按选中的文件路径对他们进行批量处理的过程,求具体地返回文件路径的方法,QFileInfo类不会用啊 } break;//这里一定要break退出while循环,因为infolist中的文件访问完之后,当前文件夹下已经没有任何文件了,这里是递归的返回 } i++; }while(i < list.size());//这里是list.size(),也就是当前文件夹下的文件夹数和文件数的和再+2 }

QT访问类成员变量出错,求解

编译能通过,运行时程序出错自动退出,用debug检查提示 “底层由于接受到操作系统的信号而停止 信号名称:SIGSEGV 信号意义:Segmentation fault” 断点在成员变量的访问上,整了一天,没弄明白,快崩溃了。 程序大概是这样: ``` class CMeta : public QGraphicsPathItem { public: void test1(); private: QPointF mTest; } void CMeta::test1() { QString str; str.sprintf("%f",mTest.x()); QMessageBox::about(NULL, "About", str); } ``` 在程序中调用test1(),出错 ``` CMeta *mMeta = qgraphicsitem_cast<CMeta *>(startMetas.first()); //QList<CHtPts*> *mHtPts = mMeta->GetHtPts(); mMeta->test1(); ```

C++迭代器用法的问题...

``` class QQ { public: int id; string name; public: QQ(int a,string b):id(a),name(b){} }; class Group { public: string Gname; vector<QQ*> qlist; vector<QQ*>::iterator i; public: Group(string a):Gname(a){} void addQQ(const QQ& tmp) { qlist.push_back(new QQ(tmp.id,tmp.name)); } void print() { i=qlist.begin(); cout<<"qq_"<<i->id<<" "<<i->id; for(;i!=qlist.end();i++) { cout<<";qq_"<<i->id<<" "<<i->name; } } }; ``` 我想通过迭代器访问QQ类的内容,i->id不行访问,那要怎么写呢

Qt中QString向QByteArray的转换问题

想写一个网络数据关键词检索程序,从文件读取关键词,保存成QList,每个词都是 QString类型,每个网络帧的数据部分,存成一个 QByteArray对象,然后用contains方法查找,但是contains要求参数为 QByteArray 类型,应该怎么转换呢? 备注,因为关键词有多种表示方法,我想查它的unicode表示,所以不能用toUtf8之类的函数进行类型转换。 不知道说清楚没有

qt createor 中编译出现LNK2019:无法解析的外部符号

项目中自定义了一个类只是用来存储数据class data,私有成员为一个Qstring,四个double,构造函数为data(QString &,double,double,double,double),并已经实现。在另一个文件中定义了一个类,其中有QList<data*> datalist这个私有成员,然后在这个类的方法中使用datalist.append(new data(QString,double,double,double,double))来添加数据,发现会出现LNK2019错误:data::data(QSTring&,double,double,double,double)这个符号无法解析,求解,按照网上的将上次编译成功后生成的文件夹也删掉了还是没用

QT调试时遇到 Signal name : SIGSEGV Signal meaning : Segmentation fault,但是我已经初始化了变量。

源代码是: ``` // 头文件中声名类 class MemoryManager: public QWidget { public: MemoryManager(QWidget *parent = nullptr); ~MemoryManager(); void init(); private: // 分区链表,Partition是自定义的数据结构 QList<Partition *> mPartitionList; }; ``` <br> ``` // 在构造函数中初始化 MemoryManager::MemoryManager(QWidget *parent) :QWidget (parent) { init(); } MemoryManager::init() { mPartitionList = QList<Partition *>();//这里打断点,调试后出现题目中所说的问题。 } ``` <br> 调试位置: ![图片说明](https://img-ask.csdn.net/upload/201906/14/1560476304_829216.jpg) <br> <br> 问题:![图片说明](https://img-ask.csdn.net/upload/201906/14/1560476323_215219.jpg) <br> <br> 栈:![图片说明](https://img-ask.csdn.net/upload/201906/14/1560476333_174610.jpg) <br> 网上查了说是未变量未初始化,构造函数中不是初始化了吗?而且也调用到了,为什么还会出这种问题?

QT 如何在其他cpp文件中调用Mainwindow中的单文本框

MainWindow w2; QString Starttime = w2.starttime->text(); QString Endtime= w2.endtime->text(); 报错信息如下: src/plot.cpp: In member function 'void Plot::saveToFile()': src/plot.cpp:222: error: invalid use of incomplete type 'struct QLineEdit' src/plot.h:17: error: forward declaration of 'struct QLineEdit' src/plot.cpp:223: error: invalid use of incomplete type 'struct QLineEdit' src/plot.h:17: error: forward declaration of 'struct QLineEdit'

关于2 个重载没有“this”指针的合法转换的问题

各路大神求救 在自己做一个string的时候,想要使得可以使用cin输入 所以在类中写了如下代码 friend istream & operator >>(istream &is,const String &t) { char a; while(is) { a=getchar(); t.s.push_back(a); } return is; } 但是编译显示error C2663: “std::vector<_Ty>::push_back”: 2 个重载没有“this”指针的合法转换 String是我自己定义的string,使用的是vector <char> s; 谢谢~

请问QT组件提升后不显示,是什么原因?

![图片说明](https://img-ask.csdn.net/upload/201911/17/1574000284_218606.png) 我设计的界面:窗口中央的label属于从QLabel提升的QPaintLabel类 ![图片说明](https://img-ask.csdn.net/upload/201911/17/1574000436_634825.png) 运行时的情况:并没有显示label ![图片说明](https://img-ask.csdn.net/upload/201911/17/1574000935_777176.png) 请问组件提升后不显示,是什么原因呢? 本人刚学QT,有所不知,还请大神相助。 QPaintLabel类的代码如下 ``` ## QPaintLabel.h #pragma once #include <qlabel.h> #include <QtWidgets/QScrollArea> #include <qpainter.h> #include <QMouseEvent> #include <QtWidgets/QMainWindow> class QPaintLabel: public QLabel { Q_OBJECT private: QList<QRect> rects; //记录点的坐标大小 public: QPaintLabel(QWidget* parent = 0) :QLabel(parent) //构造函数 { } ~QPaintLabel() {} protected: void mousePressEvent(QMouseEvent* event); //鼠标点击,画圆 void mouseMoveEvent(QMouseEvent* event); //鼠标移动,连续画 void paintEvent(QPaintEvent* event) ; //画圆 }; ``` ``` ## QPaintLabel.c void QPaintLabel::paintEvent(QPaintEvent*) { QPainter painter(this); QList<QRect>::iterator it; for (it=rects.begin();it<rects.end();it++) { painter.drawEllipse(*it); //画圆 } painter.end(); } void QPaintLabel::mousePressEvent(QMouseEvent* event) { QPoint point; if (event->button() == Qt::LeftButton) { point.setX(event->x()); point.setY(event->y()); rects.append(QRect(QPoint(point), QSize(10, 10))); this->repaint(); } } void QPaintLabel::mouseMoveEvent(QMouseEvent* event) { QPoint point; point.setX(event->x()); point.setY(event->y()); rects.append(QRect(QPoint(point), QSize(10, 10))); this->repaint(); } ```

QML与C++通信时传递的参数类型

我在写一个QML与C++通信的例子,我在QML中向C++端发送信号并带两个参数,参数传递到C++端后会经过转换,最终转换为QMetaType类型中的一种,其中有一种是QMetaType::QVariantList,连接在这http://doc.qt.io/qt-5/qmetatype.html#Type-enum,我就想知道在QML端传递什么类型的参数才能被转换为MetaType::QVariantList类型。按一些文档上提到的,QML端传递数组到C++端就可以自动被转换成QList类型,但是我这边试过,C++端解析出来是QMetaType::User类型。有谁做过类似的尝试帮忙分析一下

Qt 快速查找Excel中的关键字

1. 我采用读取一个范围内的数据, 然后通过QVariant转换到QList<QList<QVariant>>类型, 然后再进行匹配进行查找, 这种方式在读取10万行时速度12秒左右,速度太慢。 希望寻求一种能快读查找Excel中关键字的方法

关于list<map<>>类型处理

从数据库中读出一条数据,里面有三个字段kssj,jssj,id,保存为list<map<string,string>>,怎样取出这3个字段的值,并加入到redis中

求问 Qt5 QString 中文转到 string 或 char* 的方法

最近用Qt写HTTP服务端,用的QTcpSocket发送信息。 但是在返回 响应头的时候: ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471443044_766304.png) 作为实验,我的HTML就四个 "啊啊啊啊" 于是开始转换,可是转换之后出现以下现象: ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471443218_475829.png) string类型变量 tmpa 出现乱码,我知道应该使用 Wstring,但是QTcpSocket->write 不准许用宽字节。 于是将这个乱码发送出去,最后浏览器收到值: ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471443371_587861.png) 原本的四个 啊 变成了 一个啊。缺少了 三个字符。 这种情况是因为char每个中文字需要两个char类型,除非使用宽字节。尝试了网上大部分方法,都没有正确的方法。 这种情况以前发生过在中文char转换到QString。我用的是 QString(QString::fromlocal8bit(char)); 来进行解决的。但是反过来我就不知道,尝试过 tolocal8bit,但是无用依然乱码。 如果有知道的大神还望指点。。。。

QT 在使用了QWebEngineView后QPrinter功能为何阻塞在StartDoc(d->hdc, &di)?

代码中使用了QWebEngineView类的load方法(page()方法也是一样)后,再调用QPringter类实现打印功能的时候,打印功能一直阻塞在了if(m_painter.begin(m_printer))这句,跟踪源码,发现实际是win32函数StartDoc阻塞。程序无响应。 即使将QWebEngineView disconnet,并且delete,打印仍然阻塞。 即使将打印部分放在另一个线程中,也仍然阻塞。 将QWebEngineView的所有调用都注释掉后,就可以顺利打印了。 这是为何?可有建议或相关调试经历? 代码如下: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { /* QWebEngineView *m_webEngineView; QPrinter* m_printer; QPainter m_painter; HANDLE m_hPrintHandle = 0; */ //QWebEngineView 创建 m_webEngineView = NULL; m_webEngineView = new QWebEngineView(this); m_webEngineView->load(QUrl("http://www.baidu.com")); m_webEngineView->setGeometry(QRect(10,10,300,300)); m_webEngineView->show(); m_webEngineView->disconnect(this); m_webEngineView->deleteLater(); delete m_webEngineView; //打印功能 GetMyPrinter(); } void MainWindow::GetMyPrinter() { m_printer = NULL; QList<QPrinterInfo> list = QPrinterInfo::availablePrinters(); qDebug()<<"QPrinterInfo list ="<<list.size(); for(int i=0; i<list.size(); i++) { QString szPrintDesc="M129-M134"; QPrinterInfo eachInfo = list.at(i); QString strPrinterName = eachInfo.printerName(); qDebug() << u8"print 打印机列表:" << i << strPrinterName.toUtf8().data(); if(strPrinterName.contains(szPrintDesc)) //HP //可以根据实际可以的打印机灵活修改 { qDebug() << u8"print 找到打印机驱动=" << strPrinterName; m_printer = new QPrinter(eachInfo); m_printer->setPageSizeMM(QSize(55,120)); m_printer->setFullPage(true); } } //打开打印设备 OpenPrinter调用 getAllPrinterName(); //调用至此(m_painter.begin)一直阻塞,单步调试发现阻塞在了QT源码QWin32PrintEngine::begin中的StartDoc(d->hdc, &di),此函数一直阻塞,等不到返回。 if(m_painter.begin(m_printer)) //阻塞部分 { qDebug()<<"can print"; } } void MainWindow::getAllPrinterName() { DWORD dwSize = 0; DWORD dwPrinters = 0; //QString strPrintersName = ""; PRINTER_DEFAULTS pd; ZeroMemory(&pd, sizeof(pd)); pd.DesiredAccess = PRINTER_ALL_ACCESS; //第一次调用得到结构体的大小 ::EnumPrinters(PRINTER_ENUM_CONNECTIONS | PRINTER_ENUM_LOCAL, NULL, 5, NULL, 0, &dwSize, &dwPrinters); //第二次调用得到打印机列表 BYTE *pBuffer = new BYTE[dwSize]; ::EnumPrinters(PRINTER_ENUM_CONNECTIONS | PRINTER_ENUM_LOCAL, NULL, 5, pBuffer, dwSize, &dwSize, &dwPrinters); //得到所有的打印机名称 qDebug()<<"VC++ dwPrinters ="<<dwPrinters; if(dwPrinters != 0) { PRINTER_INFO_5 *pPrinterInfo = (PRINTER_INFO_5 *)pBuffer; for(int i=0; i<dwPrinters; i++) { QString printerName = QString::fromStdWString(pPrinterInfo->pPrinterName); if(printerName.contains("M129-M134")) { //检测打开打印机设备是否成功 if(!OpenPrinter(pPrinterInfo->pPrinterName, &m_hPrintHandle, &pd)) { qDebug()<<"zj open printer wrong!"; return; } } pPrinterInfo++; } } delete []pBuffer; }

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

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

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

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

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

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

和黑客斗争的 6 天!

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

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

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

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

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

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

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

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

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

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

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

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

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

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

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

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

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

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

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

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中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多个条件是什么逻辑关系?条件判断在什么时候执...

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

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

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

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

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

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

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

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

立即提问
相关内容推荐