Python怎么取得C++程序内存中的数据

现在的情况是这样的。C++程序产生了一个数组,我想要把这个数组放进python中进行一些运算,然后python处理后的数据返回给C++程序继续处理?

3个回答

说具体些 如果是两个程序分开的话 需要消息队列这样的通信方式解决,如果只是对c++程序的调用的话 ctypes是个不错的 选择

只是对c++程序的调用的话,ctypes是可以的。

用C++编写dll文件,Python调用它即可实现
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python怎么取得C++程序内存中的数据

现在的情况是这样的。C++程序产生了一个数组,我想要把这个数组放进python中进行一些运算,然后python处理后的数据返回给C++程序继续处理?

如何修改正在运行中程序的内存数据

就拿最原始的HelloWorld程序来说,如果我加入一个循环输出(作为程序A),让它每秒输出1次helloworld,我再写个程序B,如何让正在运行的程序A的输出变成“111111111”呢?

如何从正在运行的程序中,获取当缓存数据?

1,比如在软件运行过程中,获取当前的角色,修改信息,改变位置。 2.在脚本中获得数据后,如何发送给程序接受?

c与python互相调用传递参数

C调用Python怎么向python里传递结构体,怎么将一个python模块添加到python的一个函数里面,

Python 计算 tfidf ,数据较大,报错memory error

我的工作环境是,win7,python2.7.10,gensim 任务内容是根据商品信息(所属类目、分词)来确定商品间的相似度。 商品信息由50w行文本组成。 例如: 自左向右,分别为,商品ID/所属类目ID/商品标题分词 ``` 29 155 123950,53517,106068,59598,7503,171811,25618,147905,203432 49 228 73035,33202,116593,48909,92233,181255,127004,38910 59 284 123950,38910,22837,5026,15459,47776,158346,101881,131272 ``` 我基本套用了网上的gensim教程中对求解相似度的程序。问题出在最后求相似度的时候,求大侠指教!!很急!! # ******首先是用于将商品标题分词建成词袋(稀疏矩阵)的程序1,花了2分多,运行结束****** ``` Python # -*- coding: utf-8 -*- # 激活日志 import logging,time logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) start=time.clock() # 导入gensim工具包 from gensim import corpora, models, similarities # 数据源 fsource='C:\\Users\\Administrator\\Desktop\\data_after_deal\\for_python_deal\\fomal\\dim_items_terms.csv' # 文件目录 fcontent='C:\\Users\\Administrator\\Desktop\\data_after_deal\\for_python_deal\\fomal\\test01_with_lis\\' # 读入本地文件,用readlines()方法自动将文件内容分析成一个行的列表 f0=open(fsource) lines=f0.readlines() terms_list=[] for line in lines: line=line.strip('\n') # 去除当前行文本末尾的换行符 terms_single_line=line.split(',') # 按“,”分割当前行文本 es:['48909,53517,116593,55095']->['48909','53517','116593','55095'] terms_list.append(terms_single_line) # 向列表尾部添加新列表元素 f0.close() # 去除语料库中仅出现过一次的分词 from collections import defaultdict frequency = defaultdict(int) for text in terms_list: cnt_single=defaultdict(int) for token in text: frequency[token] += 1 terms_list = [[token for token in text if frequency[token] > 1] for text in terms_list] # 描述同一商品的分词去重 terms_list_qc=[] for text in terms_list: cnt_single=defaultdict(int) terms_list_qc_item=[] for token in text: cnt_single[token]+=1 if(cnt_single[token]<=1): terms_list_qc_item.append(token) terms_list_qc.append(terms_list_qc_item) dictionary = corpora.Dictionary(terms_list) # 通过 gensim.corpora.dictionary.Dictionary 给所有在语料库中出现过的分词各分配唯一的整型ID # 通过扫描整个文本,收集词汇数与相应的统计。 # 可以通过 dictionary 了解到处理的预料中所包含的不同分词数以及分词与ID间的映射关系(dictionary.token2id) dictionary.save(fcontent+'dim_items_terms.dict') # 保存 dictionary ,以备后用 corpus = [dictionary.doc2bow(text) for text in terms_list] # 函数 doc2bow() 可以统计出每个不同分词的出现次数,将该分词转换为其所对应的整型ID,并返回一个稀疏矩阵 # 稀疏矩阵示例:[(2,1),(3,1)],可理解为该矩阵所对应的文本中,ID为2的分词出现1次,ID为3的分词出现1次 corpora.MmCorpus.serialize(fcontent+'dim_items_terms.mm', corpus) # 序列化向量空间语料库并保存到本地,以备后用 end=time.clock() print "Time Cost for Program 00_a_trim_items_terms_to_sparse_matrix.py: %f s" % (end-start) ``` # ## **然后是程序2,词袋->tfidf->LSI,LSI可要可不要,跑了三分多** ``` Python # -*- coding: utf-8 -*- import logging,time logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) start=time.clock() from gensim import corpora, models, similarities # 文件目录 fcontent='C:\\Users\\Administrator\\Desktop\\data_after_deal\\for_python_deal\\fomal\\test01_with_lis\\' # 使用 step1 中创建的用向量流表示文档的语料库 dictionary = corpora.Dictionary.load(fcontent+'dim_items_terms.dict') corpus = corpora.MmCorpus(fcontent+'dim_items_terms.mm') # 使用 step1 中创建的语料库来初始化此转换模型 tfidf = models.TfidfModel(corpus) # 将词袋整数计数表示的向量转换为TFIDF实数权重表示方法 corpus_tfidf = tfidf[corpus] # 初始化一个LSI转换 lsi = models.LsiModel(corpus_tfidf, id2word=dictionary, num_topics=2) # 在原始语料库上加上双重包装: bow->tfidf->fold-in-lsi corpus_lsi = lsi[corpus_tfidf] # tfidf语料通过LSI (Latent Sematic Indexing,潜在语义索引) # 变换为一个隐含语义的2D空间(2D,通过设置num_topics=2来完成) # LSI模型持久化 lsi.save(fcontent+'dim_items_terms_model.lsi') # lsi = models.LsiModel.load('C:\\Users\\Administrator\\Desktop\\data_after_deal\\for_python_deal\\fomal\\dim_items_terms_model.lsi') end=time.clock() print "Time Cost for Program 00_b_bagofwords_to_tfidf_to_lsi.py: %f s" % (end-start) ``` # # **最后是实际计算商品间相似度的程序三,这个用LSI模型来比对的话,2k行要跑四五十分钟,但我的数据量有50w。用tfidf模型来算直接报memory error 不给跑** ``` Python # -*- coding: utf-8 -*- import logging,time logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) start=time.clock() from gensim import corpora, models, similarities # 数据源 fsource='C:\\Users\\Administrator\\Desktop\\data_after_deal\\for_python_deal\\fomal\\dim_items_terms_pre.csv' # 文件目录 fcontent='C:\\Users\\Administrator\\Desktop\\data_after_deal\\for_python_deal\\fomal\\test01_with_lis\\' # 可以如下面三行所示根据step1中创建的语料库来初始化lsi模型,亦可直接使用step2中已初始化的lsi模型 dictionary = corpora.Dictionary.load(fcontent+'dim_items_terms.dict') corpus = corpora.MmCorpus(fcontent+'dim_items_terms.mm') tfidf = models.TfidfModel(corpus) #lsi = models.LsiModel(corpus, id2word=dictionary, num_topics=2) # lsi = models.LsiModel.load(fcontent+'dim_items_terms_model.lsi') index = similarities.MatrixSimilarity(tfidf[corpus]) # 将语料库转换到LSI空间并对它进行索引 #index = similarities.MatrixSimilarity(lsi[corpus]) # 百万文档以上,内存不足时可以使用similarities.Similarity类 # 索引的存储 index.save(fcontent+'dim_items_terms_tfidf.index') # index = similarities.MatrixSimilarity.load('C:\\Users\\Administrator\\Desktop\\data_after_deal\\for_python_deal\\dim_items_terms_pre.index') # 查询对象doc -> 创建doc的稀疏矩阵 -> 将查询转换入LSI空间 # 读入本地文件,用readlines()方法自动将文件内容分析成一个行的列表 f0=open(fsource) lines=f0.readlines() #terms_list=[] f1=open(fcontent+'out_recordid_tfidf.txt',"w") f2=open(fcontent+'out_cosine_tfidf.txt',"w") for line in lines: line=line.strip('\n') # 去除当前行文本末尾的换行符 doc = line vec_bow = dictionary.doc2bow(doc.split(',')) vec_lsi = tfidf[vec_bow] sims = index[vec_lsi] # 获得查询文档相对于其他经过索引的文档的相似度 # 余弦方法返回的相似度在[-1,1]之间,越大越相似 # 以下将相似性倒序排列 sims = sorted(enumerate(sims), key=lambda item: -item[1]) for i in range(500): f1.write(str(sims[i][0]+1)+',')# 商品记录序号 f2.write(str(sims[i][1])+',')# 相似度 f1.write('\n') f2.write('\n') f0.close() f1.close() f2.close() end=time.clock() print "Time Cost for Program 00_c_get_sim_itemsid_top_fh.py: %f s" % (end-start) ```

用ctypes向dll传入的数组,返回python后,其中的数据有时正确有时错误,怎么办?

运行环境: win10 + anaconda5.3 + jupyter python文件 ``` import numpy as np import pandas as pd mylib = ctypes.cdll.LoadLibrary('mydll.dll') C_fun = mylib.func_name C_fun.restypes = None C_fun.argtypes = pass_args_Struct, c_double*10 # pass_args_Struct 是继承ctypes.Structure定义的结构体,代码略 def generate_Struct(data, 其他参数略): # 生成 pass_args_Struct,代码略 # data是个DataFrame,用于接收下面myClass的data属性 class myClass(): # myclass有个data属性,data是一个DataFrame # 其他代码略 def func1(self, x): # 删除self.data的一列,再根据x参数重新添加这一列,代码略 struct_x = generate_Struct(self.data, 其他参数略) myArr = (c_double*10)() C_fun(struct_x, myArr) npArr = np.ctypeslib.as_array(myArr,(10,)) return pd.Series(npArr, _column_names) # _column_names 定义略 def func2(self): # 生成df,df是个只有一列值的DataFrame,代码略 return df.apply(lamba x: self.func1(x[0]), axis=1, result_type='expand')) # 其他代码略 ``` mydll.dll中的代码 ``` #define API extern "C" __declspec(dllexport) typedef pass_args_Struct { // 对应于python中pass_args_Struct,代码略 } API void func_name(pass_args_Struct* x, double arr[]) { // 对arr进行一些操作,代码略 } ``` 在jupyter中: 导入前述Python文件并生成 myObject=myClass() 之后, 执行ret1 = myObject.func1()没什么问题, 但是ret2 = myObject.func2()的结果则有时正确有时错误,错误的时候,ret2中会出现一些NaN值和错误的值。 之前把generate_Struct()定义成myclass的一个方法,连ret1也会出错; 之前的func1(self, x)中采用: ``` func1(self, x): # 其他代码略 myArr = np.ctypeslib.as_array(myArr,(10,)) # 左边不用新名而直接用myArr return pd.Series(myArr, _column_names) ``` 则ret1会频繁出错,基本上是对一次就错一次。 程序一直能运行,只是结果有时不正确。 请教各位大牛,正确的写法是什么样子的? ==================================================== =====2018年11月30日更新==================================== 我可能发现问题了: Python文件TestX.py(放在PYTHONPATH下): ``` import numpy as np from ctypes import Structure, c_double, c_int, POINTER class struct_args(Structure): _fields_ = [('data',POINTER(c_double*2)), ('rows',c_int)] class test(): def __init__(self): self.data = None def get_args_2C(self): arr = np.ascontiguousarray(self.data[['foo','bar']].values, dtype=np.float) rows = c_int(arr.shape[0]) return struct_args(arr.ctypes.data_as(POINTER(c_double*2)), rows) ``` 在jupyter中: ``` import TestX import pandas as pd import numpy as np mydata = pd.DataFrame(np.arange(1600).reshape(800,2),columns=['foo','bar']) # 行数不要太小 mytest = TestX.test() mytest.data = mydata args = mytest.get_args_2C() np.ctypeslib.as_array(args.data,(800,)) ``` 输出的值经常是错误的。 ==================================================== =====2018年12月3日更新==================================== 不知道为什么,但总算是不出错了: python文件: ``` from ctypes import Structure,POINTER,c_double def Struct_A(ctypes.Structure): _fields_ = [(), # 其他成员略 ('my_arr',POINTER(c_double)] # 这个地方用c_double*10后面也会出错 class myClass(): def makeStructA(self, 其他参数): arr = (c_double*10)() SA = Struct_A(……,arr) # 其他成员略 return SA def myMethod(self, 其他参数): SA = self.makeStructA(其他参数) # myCfun是dll中的函数,功能是利用SA中数据进行一些计算,然后把结果写入SA.my_arr,具体代码略 myCfun(SA) ret = pd.Series(np.ctypeslib.as_array(SA.my_arr,(10,)), _columns_name) ret['odd'] = 1 # 这里随便新加点什么就不会出错了 return ret ``` 以上代码如果没有ret['odd']=1那一行,则myObject.myMethod()返回的Series中都是错误的值(看着像是内存未初始化,比如-2.24934335e308之类),而随便给ret添加点什么内容,返回值就是正确的了。 但是在以下计算中仍然会出错,只是出错的频率变小了,而且多运行几次就会正确: ``` class myClass(): # 接上文 def myOptimize(self, arg_name, arg_range): ret = pd.DataFrame({arg_name:arg_range}) _optimize = lambda arg: self.myMethod(**{arg_name:arg[arg_name]}) return ret.join(ret.apply(_optimize, axis=1, result_type='expand')) ``` ===================================== =====2018年12月7日更新==================================== 又出错了!!!12月3日写的: ``` ret['odd'] = 1 # 这里随便新加点什么就不会出错了 ``` 那个函数确实不出错了,但是别的函数用同样的写法(先生成c_double*shape再传入dll在C中写入值)得到的ret无论添加行还是添加列,多运行几次总会出错(内存被清理)。 换一种写法: ``` 略 arr=np.zeros(shape) 略 # 然后传入arr.ctypes.data_as(POINTER(c_double*10)) ``` 目前暂时不出错了。 =====2018年12月13日更新==================================== 前面的写法有问题:用函数生成结构体(比如makeStructA)再传递给dll就会出错,直接将makeStuctA的代码放到myMethod中就不会出错。 另外,传递结构体时用byref就不会出错了,在dll中用malloc给结构体的成员赋值都不会出错。

python3用urllib.request为什么会导致程序不停的爬取数据而导致程序崩溃?

这是我的源代码![图片说明](https://img-ask.csdn.net/upload/201707/05/1499221937_157417.png) 然后这是运行之后![图片说明](https://img-ask.csdn.net/upload/201707/05/1499221968_890861.png) 就一直卡住,一直在爬数据,请问为什么呢?

C++调用python脚本(test.py这个脚本中import numpy)程序崩溃

我想在c++中调用python的一个脚本,这个脚本中我只是import了一个numpy就报错了,而如果是简单的脚本(没有import第三方库)就不会出错,我已经把: INCLUDEPATH += C:/Python27/include/ LIBS += C:/Python27/libs/python27.lib 添加进去了, ``` pyrun_simplestring("import sys"); pyrun_simplestring("import numpy"); pyrun_simplestring("sys.path.append('c:\python27\lib\site-packages\')"); pyerr_print(); pyobject * pmodule = null; pyobject * pfunc = null; pmodule =pyimport_importmodule("test_my"); //test001:python文件名 pfunc= pyobject_getattrstring(pmodule, "testdict"); //add:python文件中的函数名 pyobject *pargs = pytuple_new(1); pyobject *pdict = pydict_new(); //创建字典类型变量 pydict_setitemstring(pdict, "name", py_buildvalue("s", "wangyao")); //往字典类型变量中填充数据 pydict_setitemstring(pdict, "age", py_buildvalue("i", 25)); //往字典类型变量中填充数据 pytuple_setitem(pargs, 0, pdict); //0---序号 将字典类型变量添加到参数元组中 pyobject *preturn = null; preturn = pyeval_callobject(pfunc, pargs); //调用函数 int size = pydict_size(preturn); cout << "返回字典的大小为: " << size << endl; pyobject *pnewage = pydict_getitemstring(preturn, "age"); int newage; pyarg_parse(pnewage, "i", &newage); cout << "true age: " << newage << endl; py_finalize(); ``` 这是python的脚本: ``` #import numpy as np def HelloWorld(): print "Hello World" def add(a, b): #tmp=np.random.randint(10,88) return a+b def TestDict(dict): print dict dict["Age"] = 17 return dict class Person: def greet(self, greetStr): print greetStr #print add(5,7) #a = raw_input("Enter To Continue...") ``` 老是报错,但如果我把import numpy去掉就没问题,求大神解答,困扰好久了~~~

用python scapy库分析pcap数据包错误TypeError、AttributeError

写了个python程序解析流量数据包,用的是scapy库。读取流量较少的pcap包文件时可以顺利运行,读取大点的pcap包就会报错。 错误信息如下: ``` Traceback (most recent call last): File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\site-packages\scapy\packet.py", line 235, in __getattr__ fld, v = self.getfield_and_val(attr) TypeError: 'NoneType' object is not iterable During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\site-packages\scapy\packet.py", line 235, in __getattr__ fld, v = self.getfield_and_val(attr) TypeError: 'NoneType' object is not iterable During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\Paper\sta\pcap\特征提取.py", line 22, in <module> bufLen.append(data.len) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\site-packages\scapy\packet.py", line 237, in __getattr__ return self.payload.__getattr__(attr) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\site-packages\scapy\packet.py", line 237, in __getattr__ return self.payload.__getattr__(attr) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\site-packages\scapy\packet.py", line 235, in __getattr__ fld, v = self.getfield_and_val(attr) File "C:\Users\ASUS\AppData\Local\Programs\Python\Python36\lib\site-packages\scapy\packet.py", line 1291, in getfield_and_val raise AttributeError(attr) AttributeError: len ``` 源代码部分: ``` from scapy.all import * from scapy.utils import PcapReader rd = PcapReader('./a.pcap') while True: data = rd.read_packet() if data is None: break else: ''' 分析处理过程 ''' rd.close() ``` 源代码处理过程应该没问题,毕竟可以运行处理小数据包,但数据量一大就会报错。 而且有时候不稳定,简单的同样的代码有时可以运行成功,有时也会报上面的错,我想是不是系统的问题,我用的是在windows10,内存16G应该足够大,为什么会报错呢,求大神解答!

Java读取文本数据存到数据库,在方法执行完成后为啥所占用的内存资源没释放?

大致步骤是读取一个包含十六万+行的文档数据,并将数据存放到数据库,但是在该方法执行完成后所占用的内存资源没有被释放,求大神指教~ (这程序是用swing开发的桌面程序,不知是不是跟用了swing有关) 以下代码是核心部分: ``` String sql = "insert into "+tableName+"("+imuField+") values(?,?,?,?,?,?,?,?,?)"; Connection c = JDBCUtil.getConnection(); // 获取数据库连接 try { Statement statement=c.createStatement(); statement.executeUpdate(createTable); // 创建表 System.err.println(tableName+"表创建成功,准备写入数据..."); c.setAutoCommit(false); // 手动提交 PreparedStatement ps= c.prepareStatement(sql); File imuFile= new File(file); List<String> strList=FileIUtils.readLine(imuFile,"utf-8", index, offset); // 读取文件内容 if(strList==null || strList.size()<1) { SwingUtils.warn(jf, null, "选择的文件不存在IMU数据"); } Integer n=0; Integer not=0; Integer i= 0; StringBuilder utcTime = new StringBuilder(); String[] strs = new String[1024]; long begin = System.currentTimeMillis(); // 记录开始时间 jProgressBar.setMaximum(strList.size()); // 加载进度条 for(String strLin: strList) { n++; i++; jProgressBar.setValue(n); // 加载进度条 strs = strLin.split("\t"); if(strs[0]!=null && Utils.isContainNumber(strs[0]) && strs[1]!=null && Utils.isContainNumber(strs[1]) && strs[2]!=null && Utils.isContainNumber(strs[2]) && strs[3]!=null && Utils.isContainNumber(strs[3]) && strs[4]!=null && Utils.isContainNumber(strs[4]) && strs[5]!=null && Utils.isContainNumber(strs[5]) && strs[6]!=null && Utils.isContainNumber(strs[6]) && strs[7]!=null && Utils.isContainNumber(strs[7]) && strs[8]!=null && Utils.isContainNumber(strs[8])) { Date GpsDate = Utils.StringToDate(strs[1]+" "+strs[0]); // GPS时间处理(0,1元素拼接起来为GPS时间) ps.setDate(1,new java.sql.Date(GpsDate.getTime())); ps.setLong(2, GpsDate.getTime()); ps.setString(3, strs[2]); ps.setString(4, strs[3]); ps.setString(5,strs[4]); ps.setString(6, strs[5]); ps.setString(7, strs[6]); ps.setString(8, strs[7]); utcTime.setLength(0); utcTime.append(strs[1]).append(" "+strs[8]); ps.setString(9, utcTime.toString()); ps.addBatch(); if(i>=100000) { // 累计到十万条时执行SQL i=0; ps.executeBatch(); c.commit(); } }else { not++; continue; } } if(ps!=null) { ps.executeBatch(); ps.close(); c.commit(); } System.out.println("插入完成,耗时约 "+(System.currentTimeMillis()-begin)/1000+" 秒"); } catch (SQLException e) { e.printStackTrace(); }finally { JDBCUtil.closeConnection(c); // 回收连接 } ``` 以下是程序启动时内存占用情况: ![程序启动时](https://img-ask.csdn.net/upload/201811/27/1543303587_698231.png) 以下是程序执行SQL方法时内存的占用情况: ![运行中](https://img-ask.csdn.net/upload/201811/27/1543303605_900371.png) 以下是该方法执行完成后内存占用情况(与运行中差不多,或更高): ![完成后](https://img-ask.csdn.net/upload/201811/27/1543303622_903827.png)

读取文本文件并且统计给定文本文件中汉字的个数,怎么利用C语言的程序编程的方式来实现的?

Problem Description 统计给定文本文件中汉字的个数。 Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。 Output 对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。 [Hint:]从汉字机内码的特点考虑~ Sample Input 2 WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa! 马上就要期末考试了Are you ready? Sample Output 14 9

c# udp sendto目标未开 receivefrom接收不到数据

使用UDP转发数据,转发程序接收数据发给另一个程序C,如果这时接收程序C关了,那么转发程序不再接收数据,而第一个程序一直在发数据 A客户端调用sendto发数据给B客户端 B客户端接受数据后,sendto给C客户端 如果C客户端未开,B发送1条数据后,发送后无异常也不知道成功没,但B不再接收A客户端的数据,即receiveFrom方法也不能用 如果C客户端一直开,则B客户端既能接收数据,又能发送数据 B就是个转发的,C断了之后,B竟然不接收A的数据了 请问大神们,这是个什么原因

递归出现死循环导致内存溢出问题

在正常情况下递归有退出条件不会出现死循环问题。但是有可能出现数据错误,导致程序一直无法达到退出条件从而一直调用递归造成死循环。这种情况下,假如数据错误无法避免,那么怎么才能避免死循环的产生呢?

tensorflow-gpu 训练启动的时候内存炸了 显存没有消耗

为啥啊 难道我用GPU跑也需要内存达到要求吗 本来想着只用显存 内存没有消耗的 这下又跑不起来了

linux shell,将数据流重定向作为下一个程序的输入,由于有缓冲机制,数据流无法实时进行处理

上述问题可以简化为以下问题: python脚本如下: ``` #coding=utf-8 import sys import os import time if __name__ == '__main__': while True: print time.strftime('%Y-%m-%d %H:%M:%S') time.sleep( 5 ) ``` 然后通过linux命令行:python produceNmu.py >> xhb.info 这样的话每隔5s会输出一个字符串 如果想让字符串实时写入到xhb.info中,该如何做呢? 谢谢大家

如何分块将数据写入文件

public Form1() { InitializeComponent(); Stopwatch sw = new Stopwatch(); sw.Start(); //string filePath = @"D:\cp.bin"; string filePath = System.AppDomain.CurrentDomain. SetupInformation.ApplicationBase + @"cp.txt";//设置路径将文件保存在目标文件下 using (FileStream fs = File.Create(filePath))//优化 { /*需要使用内置的 Syncronized TextReader/Writer类 * 在复制内存时检测到可能的 I/O 争用条件。默认情况下,I/O 包不是线程安全的。 * 在多线程应用程序中,必须以线程安全方式(如 TextReader 或 TextWriter * 的 Synchronized 方法返回的线程安全包装)访问流。 * 这也适用于 StreamWriter 和 StreamReader 这样的类。 */ StreamWriter ObjWrites = default(StreamWriter); ObjWrites = new StreamWriter(fs); dynamic synws = StreamWriter.Synchronized(ObjWrites); double t0 = 0, f0 = 100000d; //double beta = (f1 - f0) / t1; double beta = 900000d/4.194304d; double chirp = 0; for(int i=0; i<=167772160; i++) { chirp = Math.Cos(Math.PI * (2 * f0 + beta * t0) * t0); t0 += 0.000000025; chirp = Math.Round(chirp * 2046); chirp = chirp*2 + 2046; byte[] b=Encoding.Unicode.GetBytes(chirp.ToString()); while (b.Length == 1024 * 1024) { fs.Write(b, 0, b.Length);//时间大都花在写文件上了,需要优化 } } /* synws.Close(); ObjWrites.Close();*/ } sw.Stop(); MessageBox.Show("耗时为: " + sw.ElapsedMilliseconds.ToString() + " ms"); } ``` ``` 产生的数据有1.29G,我想分割成几块写入文件,而不是一个字节写入

数据操作的问题,,C语言,炒鸡简单,求解答

#include<stdio.h> #include<math.h> int main() { int a,b,c; scanf("%d %d %d",&a,&b,&c); //double a,b,c; //scanf("%f %f %f",&a,&b,&c); if(a==b&&b==c) printf("等边三角形\n"); else if((a==b&&b!=c)||(a==c&&b!=c)||(b==c&&a!=c)) printf("等腰三角形\n"); else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) printf("直角三角形\n"); else if(c>=a+b||b>=a+c||a>=b+c||a==0||b==0||c==0) printf("这他妈怎么可能是三角形\n"); else printf("不等边三角形\n"); return 0; } 问题是这样的,我把三个边的数据类型改为双精度类型之后,出现只执行到直角那里。但是我要用到整型的话,这就是正常的,想想好像应该和数据在内存中的表现有关,但是具体过程还是不太明白,求高手赐教。

程序运行到一半自动停止却不报错

################################################### # # Script to: # - Load the images and extract the patches # - Define the neural network # - define the training # ################################################## import numpy as np import configparser from keras.models import Model from keras.layers import Input, concatenate, Conv2D, MaxPooling2D, UpSampling2D, Reshape, core, Dropout from keras.optimizers import Adam from keras.callbacks import ModelCheckpoint, LearningRateScheduler from keras import backend as K from keras.utils.vis_utils import plot_model as plot from keras.optimizers import SGD import sys sys.path.insert(0, 'C:\\Users\\Administrator\\Desktop\\袁炀\\最新下载的python3的完整版\\Retina-Unet-master\\lib\\') from help_functions import * #function to obtain data for training/testing (validation) from extract_patches import get_data_training print('0step') #Define the neural network def get_unet(n_ch,patch_height,patch_width): inputs = Input(shape=(n_ch,patch_height,patch_width)) conv1 = Conv2D(32, (3, 3), activation='relu', padding='same',data_format='channels_first')(inputs) conv1 = Dropout(0.2)(conv1) conv1 = Conv2D(32, (3, 3), activation='relu', padding='same',data_format='channels_first')(conv1) pool1 = MaxPooling2D((2, 2))(conv1) # conv2 = Conv2D(64, (3, 3), activation='relu', padding='same',data_format='channels_first')(pool1) conv2 = Dropout(0.2)(conv2) conv2 = Conv2D(64, (3, 3), activation='relu', padding='same',data_format='channels_first')(conv2) pool2 = MaxPooling2D((2, 2))(conv2) # conv3 = Conv2D(128, (3, 3), activation='relu', padding='same',data_format='channels_first')(pool2) conv3 = Dropout(0.2)(conv3) conv3 = Conv2D(128, (3, 3), activation='relu', padding='same',data_format='channels_first')(conv3) up1 = UpSampling2D(size=(2, 2))(conv3) up1 = concatenate([conv2,up1],axis=1) conv4 = Conv2D(64, (3, 3), activation='relu', padding='same',data_format='channels_first')(up1) conv4 = Dropout(0.2)(conv4) conv4 = Conv2D(64, (3, 3), activation='relu', padding='same',data_format='channels_first')(conv4) # up2 = UpSampling2D(size=(2, 2))(conv4) up2 = concatenate([conv1,up2], axis=1) conv5 = Conv2D(32, (3, 3), activation='relu', padding='same',data_format='channels_first')(up2) conv5 = Dropout(0.2)(conv5) conv5 = Conv2D(32, (3, 3), activation='relu', padding='same',data_format='channels_first')(conv5) # conv6 = Conv2D(2, (1, 1), activation='relu',padding='same',data_format='channels_first')(conv5) conv6 = core.Reshape((2,patch_height*patch_width))(conv6) conv6 = core.Permute((2,1))(conv6) ############ conv7 = core.Activation('softmax')(conv6) model = Model(inputs=inputs, outputs=conv7) # sgd = SGD(lr=0.01, decay=1e-6, momentum=0.3, nesterov=False) model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics = ['accuracy']) ####编译模型https://www.cnblogs.com/LittleHann/p/6442161.html return model print('1step') #Define the neural network gnet #you need change function call "get_unet" to "get_gnet" in line 166 before use this network def get_gnet(n_ch,patch_height,patch_width): inputs = Input((n_ch, patch_height, patch_width)) conv1 = Convolution2D(32, 3, 3, activation='relu', border_mode='same')(inputs) conv1 = Dropout(0.2)(conv1) conv1 = Convolution2D(32, 3, 3, activation='relu', border_mode='same')(conv1) up1 = UpSampling2D(size=(2, 2))(conv1) # conv2 = Convolution2D(16, 3, 3, activation='relu', border_mode='same')(up1) conv2 = Dropout(0.2)(conv2) conv2 = Convolution2D(16, 3, 3, activation='relu', border_mode='same')(conv2) pool1 = MaxPooling2D(pool_size=(2, 2))(conv2) # conv3 = Convolution2D(32, 3, 3, activation='relu', border_mode='same')(pool1) conv3 = Dropout(0.2)(conv3) conv3 = Convolution2D(32, 3, 3, activation='relu', border_mode='same')(conv3) pool2 = MaxPooling2D(pool_size=(2, 2))(conv3) # conv4 = Convolution2D(64, 3, 3, activation='relu', border_mode='same')(pool2) conv4 = Dropout(0.2)(conv4) conv4 = Convolution2D(64, 3, 3, activation='relu', border_mode='same')(conv4) pool3 = MaxPooling2D(pool_size=(2, 2))(conv4) # conv5 = Convolution2D(128, 3, 3, activation='relu', border_mode='same')(pool3) conv5 = Dropout(0.2)(conv5) conv5 = Convolution2D(128, 3, 3, activation='relu', border_mode='same')(conv5) # up2 = merge([UpSampling2D(size=(2, 2))(conv5), conv4], mode='concat', concat_axis=1) conv6 = Convolution2D(64, 3, 3, activation='relu', border_mode='same')(up2) conv6 = Dropout(0.2)(conv6) conv6 = Convolution2D(64, 3, 3, activation='relu', border_mode='same')(conv6) # up3 = merge([UpSampling2D(size=(2, 2))(conv6), conv3], mode='concat', concat_axis=1) conv7 = Convolution2D(32, 3, 3, activation='relu', border_mode='same')(up3) conv7 = Dropout(0.2)(conv7) conv7 = Convolution2D(32, 3, 3, activation='relu', border_mode='same')(conv7) # up4 = merge([UpSampling2D(size=(2, 2))(conv7), conv2], mode='concat', concat_axis=1) conv8 = Convolution2D(16, 3, 3, activation='relu', border_mode='same')(up4) conv8 = Dropout(0.2)(conv8) conv8 = Convolution2D(16, 3, 3, activation='relu', border_mode='same')(conv8) # pool4 = MaxPooling2D(pool_size=(2, 2))(conv8) conv9 = Convolution2D(32, 3, 3, activation='relu', border_mode='same')(pool4) conv9 = Dropout(0.2)(conv9) conv9 = Convolution2D(32, 3, 3, activation='relu', border_mode='same')(conv9) # conv10 = Convolution2D(2, 1, 1, activation='relu', border_mode='same')(conv9) conv10 = core.Reshape((2,patch_height*patch_width))(conv10) conv10 = core.Permute((2,1))(conv10) ############ conv10 = core.Activation('softmax')(conv10) model = Model(input=inputs, output=conv10) # sgd = SGD(lr=0.01, decay=1e-6, momentum=0.3, nesterov=False) model.compile(optimizer='sgd', loss='categorical_crossentropy',metrics=['accuracy']) return model print('2step') #========= Load settings from Config file config = configparser.RawConfigParser() config.read('configuration.txt') #patch to the datasets path_data = config.get('data paths', 'path_local') #Experiment name name_experiment = config.get('experiment name', 'name') #training settings N_epochs = int(config.get('training settings', 'N_epochs')) batch_size = int(config.get('training settings', 'batch_size')) #============ Load the data and divided in patches patches_imgs_train, patches_masks_train = get_data_training( DRIVE_train_imgs_original = path_data + config.get('data paths', 'train_imgs_original'), DRIVE_train_groudTruth = path_data + config.get('data paths', 'train_groundTruth'), #masks patch_height = int(config.get('data attributes', 'patch_height')), patch_width = int(config.get('data attributes', 'patch_width')), N_subimgs = int(config.get('training settings', 'N_subimgs')), inside_FOV = config.getboolean('training settings', 'inside_FOV') #select the patches only inside the FOV (default == True) ) ####具体函数在extract_patch中,获得批量的图和批量的提取的图 print('3step') #========= Save a sample of what you're feeding to the neural network ========== N_sample = min(patches_imgs_train.shape[0],40)###patches_imgs_train.shape为(190000, 1, 48, 48),即patches_imgs_train.shape[0]为19000 visualize(group_images(patches_imgs_train[0:N_sample,:,:,:],5),'./'+name_experiment+'/'+"sample_input_imgs").show()#对数据集划分,进行分组显示 visualize(group_images(patches_masks_train[0:N_sample,:,:,:],5),'./'+name_experiment+'/'+"sample_input_masks").show() print('4step') #=========== Construct and save the model arcitecture ===== n_ch = patches_imgs_train.shape[1] patch_height = patches_imgs_train.shape[2] patch_width = patches_imgs_train.shape[3] model = get_unet(n_ch, patch_height, patch_width) #the U-net model print("Check: final output of the network:") print(model.output_shape) import os os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/' plot(model, to_file='./'+name_experiment+'/'+name_experiment + '_model.png') #check how the model looks like json_string = model.to_json() open('./'+name_experiment+'/'+name_experiment +'_architecture.json', 'w').write(json_string) ###调用网络 及 保存网络模型 print('5step') #============ Training ================================== checkpointer = ModelCheckpoint(filepath='./'+name_experiment+'/'+name_experiment +'_best_weights.h5', verbose=1, monitor='val_loss', mode='auto', save_best_only=True) #save at each epoch if the validation decreased print('6step') def step_decay(epoch): lrate = 0.01 #the initial learning rate (by default in keras) if epoch==100: return 0.005 else: return lrate lrate_drop = LearningRateScheduler(step_decay) ##动态调整学习率并实时保存each epoch的checkpoint数据 print('7step') patches_masks_train=np.load("patch_woxiede.npy") ###patches_masks_train = masks_Unet(patches_masks_train) reduce memory consumption?????????????减少内存消耗patches_masks_train的shape是(190000, 1, 48, 48) print('8step') model.fit(patches_imgs_train, patches_masks_train, epochs=N_epochs, batch_size=batch_size, verbose=1, shuffle=True, validation_split=0.1, callbacks=[checkpointer]) print('9step') #========== Save and test the last model =================== model.save_weights('./'+name_experiment+'/'+name_experiment +'_last_weights.h5', overwrite=True) #test the model # score = model.evaluate(patches_imgs_test, masks_Unet(patches_masks_test), verbose=0) # print('Test score:', score[0]) # print('Test accuracy:', score[1])

windows64位程序OpenFileMapping失败?麻烦诸位大神帮我看下!

如下代码,A程序创建一个名为SHINE的文件映射对象,B程序是vs内嵌asm代码,调用Openfilemapping函数打开文件映射对象,但是总是失败,用汇编 获取了DOS错误码总是0x6(句柄无效),同时获取到NT错误码是0xC0000024STATUS_OBJECT_TYPE_MISMATCH(对象类型不匹配)。 ``` A程序: char v2[] = "SHINE"; HANDLE MappingHandle = NULL; ULONG_PTR VirtualAddress = NULL; HANDLE v1 = INVALID_HANDLE_VALUE; v1 = CreateFileMappingA(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, 0x1000, v2); ``` ``` B程序: VS内嵌的ASM文件, OpenFileMappingA函数地址每次启动都是一样的所以写死了 .DATA INP DB 'SHINE\0' .CODE Sub_1 PROC ;获取命令行参数保存到[rbp+8h]中 mov rax,qword ptr gs:[60h] mov rax,qword ptr [rax+20h] mov rax,qword ptr [rax+78h] mov qword ptr [rbp+8h],rax ;打开名为"SHINE"的文件映射对象,并获得内存首地址 lea r8,INP xor rdx,rdx mov rcx,6 mov rax,00007ffb4ed0f5d0h ;openfilemappingA首地址,我的电脑上固定的所以写死了 call rax mov rax,qword ptr gs:[30h];获得TEB地址 xor rbx,rbx mov ebx,dword ptr [rax+68h];偏移0x68处获得LastErrorValue mov ecx,dword ptr [rax+1250h];偏移0x1250处获得LastStatusValue ret Sub_1 ENDP END ``` 小弟用win2k源码查了下这个函数的调用过程,发现它会调用ObReferenceObjectByHandle函数,这里面好像有设置NTstatus为STATUS_OBJECT_TYPE_MISMATCH的过程,也不知道是不是这里出的错,一头雾水,还望各位前辈帮忙解决下!小弟非常感激!!!!

将未在字符串s中出现而在字符串t中出现的字符形成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符?

60. 编程题 将未在字符串s中出现而在字符串t中出现的字符形成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。 测试数据: s:ABCDE, t:BDFGG 运行结果:FGG 请认真测试程序的正确性。将源代码以文本方式提交,不要直接提交文件。 【算法提示】 设计函数void fun(char *s, char *t, char *u)实现要求的功能,函数以字符指针作为参数,通过指针移动进行字符比较: 设置两个字符指针p和q,p指针指向t串,q指针指向s串;通过移动指针p和q,将t串中的一个字母与s中的每个字母进行比较,若有相同的,则中断,再看t中的下一个,直到最后都没有相同的,放入u中。

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

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

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

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

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

数据结构与算法思维导图

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

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

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

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

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。 JVM内存结构 JVM构成 说到JVM内存结构,就不会只是说内存结构的5个分区,而是会延展到整个JVM相关的问题,所以先了解下

和黑客斗争的 6 天!

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

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

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

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

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

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

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

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

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

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

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

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

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

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

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

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

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

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

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

离职半年了,老东家又发 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协议区别

立即提问
相关内容推荐