自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jiewang的博客

科研中遇到的问题与问题的解决

  • 博客(196)
  • 资源 (17)
  • 收藏
  • 关注

原创 我用的是哪个python

问题1:当我们在终端使用时,用的是哪个?问题2:如何使用指定的?问题3:使用安装第三方包之后,到底安装到哪里去了?

2022-06-23 00:25:55 471 1

原创 单例模式分析

单例模式为什么要用单例确保某个类只有一个对象,常用于访问数据库操作,服务的配置文件等。单例的关键点1、默认构造函数为private,复制构造函数和复制赋值函数也要private或=delete禁用。(做到无法被外部其他对象构造)2、通过一个静态方法或枚举返回单例类对象。3、确保多线程的环境下,单例类对象只有一个。几种写法本文主要介绍C++的懒汉式和饿汉式写法。懒汉式需要生成唯一对象时(调用GetInstance时),才生成线程不安全的错误写法class SingleInstance

2021-09-28 23:30:23 267 1

原创 C++11新特性:default和delete

解释类默认函数的控制程序员只需在函数声明后加上“=default;”,就可将该函数声明为 "=default"函数,编译器将为显式声明的 "=default"函数自动生成函数体,因为必须要有一个构造函数有函数体。程序员只需在函数声明后上“=delete;”,就可将该函数禁用。=default 声明函数为默认构造函数=delete 禁用该函数样例#ifdef _CV_H#define _CV_Hclass cv{ cv(const cv&) = delete; cv&

2021-09-28 20:13:30 395

原创 合成字符串方案总结

boost::formatstd::string attach = boost::str(boost::format( "{\"Akey\":\"Avalue\",\"Bkey\":\"%1%\",\"Ckey\":\"%2%\",\"Dkey\":\"%3%\",\"Ekey\":\"%4%\"}") %Bvalue%Cvalue%Dvalue%Evalue);合成json格式为:{ "Akey":"Avalue", "Bkey

2021-08-25 19:45:54 167

原创 git使用

1、安装git,创建git用户git config --global user.name "your_name"git config --global user.email "your_email"git config -l2、git clone 远程仓库git clone 远程仓库地址3、进入仓库目录,默认为master,切换分支等常用命令git branch -a # 查看所有分支git checkout dev

2021-06-13 16:08:31 126

原创 【力扣LeetCode】124 二叉树中的最大路径和

题目描述(难度难)路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。链接https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/代码/** * Definition for a binary tree node.

2021-04-11 19:34:00 304

原创 【力扣LeetCode】76 最小覆盖子串

题目描述(难度难)给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”示例 2:输入:s = “a”, t = “a”输出:“a”提示:1 <= s.length, t.length <= 105s 和 t 由英文字母组成进阶

2021-04-11 18:43:08 116

原创 【力扣LeetCode】146 LRU 缓存机制

题目描述(难度中)运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它应该在写

2021-04-11 17:22:02 136

原创 sed命令在脚本中执行的一个坑

sed命令在脚本中执行的一个坑sed 在脚本中执行时,只能用双引号直接shell执行时,单引号和双引号都能成功,在脚本中使用单引号不仅不能成功执行,且不会报错,调试该问题时,让人一脸懵逼,直至怀疑人生!# shell 命令执行时,效果相同sed -i 's/源字符串/替换后字符串/g' filenamesed -i "s/源字符串/替换后字符串/g" filename# shell 脚本运行时,只有双引号才能成功sed -i "s/源字符串/替换后字符串/g" filenamesed 的

2021-02-22 23:19:57 1910 1

原创 C/C++获取时间方法

C/C++获取时间方法,gettimeofday() 与 clock()两者的优势与区别:gettimeofday() 可以精确到微秒,精度很重要clock() 计算CPU总耗时,可统计并行计算的任务量gettimeofday()这个函数会把时间包装为一个结构体返回。包括秒,微妙,时区等信息。头文件,函数原型与结构体#include<sys/time.h>int gettimeofday( struct timeval*tv,struct timezone *tz )str

2021-01-24 13:29:53 1507 1

原创 timeout 作用于 docker exec 时导致 docker exec hang住

timeout 作用于 docker exec 时导致 docker exec hang住博主在做一个与docker exec相关的项目时,发现,低版本docker与timeout命令一起作用时,表现为docker exec命令hang住。见:https://github.com/moby/moby/issues/28207经测试:timeout不管是直接,还是间接作用于 docker exec 都会发生这个问题。只要 docker exec 执行时,受某个 timeout 限制。存在该bug的 d

2021-01-01 14:33:15 877

原创 sqrt方法复杂度探讨

sqrt方法复杂度探讨有一次,博主在解一个问题时,由于开方花费了大量时间从而导致时间复杂度过高而无法AC,博主决定研究一下sqrt的复杂度。二分法对开方这个操作,二分法是最直观的方案,也非常易于理解。// 二分法 double mysqrt1(int m){ if(m <= 1){ return m; } double last = 0; double start = 0; double end = m; double mid = (start + end)/2; whil

2021-01-01 14:17:58 7094 2

原创 并行计算--线程池

线程池并行计算根据不同的粒度,分为两类。各分类不一定绝对准确,实现上可能互有依赖。分布式,集群,跨进程1、基于MPI接口,需要自己实现分布式业务模式,学术界使用较多。2、借助于现有分布式基础设施。分布式计算框架类:hadoop,spark,powergraph等分布式存储框架类:对象存储ceph(同时也有文件系统和块存储接口),分布式文件系统HDFS,GFS等,块存储3、基于消息传递的分布式框架。微服务,SOA,各个服务独立,消息传递,protobuf远程过程调用,RPC单机,可跨进程,

2020-10-17 13:27:48 679

原创 extern static const

externhttps://www.cnblogs.com/WindSun/p/11434436.html

2020-09-16 10:54:41 99

原创 typedef int(*P)(int )

typedef int(*P)(int )typedef 主要的作用是给变量取别名,但是存在一些比较特殊的用法。可用于通过给函数起别名的方式定义回调函数。typedef int(*P)(int ) 这里相当于是给函数指针 P 起了个别名。那么可以用 P 来定义或转换其他指针的类型。存在一个这样的函数:int add(int x){ return x+1;}P f=add; //用P类型 定义一个f, f就可以接收此种函数形式的函数名,f(5); //然后可以用f调用这个add()函数。

2020-09-16 10:46:25 2895

原创 WSL2中无法修改/mnt/d下的文件权限

WSL2中无法修改/mnt/d下的文件权限在windows中使用wsl2安装linux子系统,使用体验非常好。安装过程可参考:https://blog.csdn.net/u013095333/article/details/107902764但是在使用的过程中,遇到了一个问题,在linux子系统中,访问/mnt/d下的文件时,即windows系统的文件系统下的文件时,可以创建和删除文件,而无法修改文件的权限。考虑:1、是否是windows系统的文件系统不支持linux那一套权限管理机制?2、

2020-09-03 23:31:05 4207

原创 docker

docker参考链接:http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.htmlhttps://www.runoob.com/docker/docker-mirror-acceleration.htmlDocker 的主要用途,目前有三大类。(1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。(3)组建微服务架构。

2020-08-30 23:31:18 112

原创 编译.so动态库

编译.so动态库最近在一个大项目分模块开发时,采用C++开发,各个模块开发好库之后,编译成为.so动态库。调用底层库时,只需要.so文件和对应头文件。本文以test库为例说明:文件包括:test.h test.cpp main.cpp// test.h#include <iostream>using namespace std;int add(int a, int b);int subtract(int a, int b);int multiply(int a, int b)

2020-08-16 23:14:05 2860 1

原创 WSL+CentOS+VScode

WSL+CentOS+VScode参考https://zhuanlan.zhihu.com/p/165508059https://docs.microsoft.com/zh-cn/windows/wsl/升级Windows要求:升级Windows,为了使用WSL2,要求 :version 2004,build19041或更高由于WIN10采取逐步推送给用户的策略,很有可能在【windows更新】是找不到最新版本的。使用 微软 windows 10 易升 升级安装WSL# 以下所有操作使用

2020-08-09 23:55:51 1758

原创 LINUX CGROUP总结

LINUX CGROUP总结https://www.cnblogs.com/menkeyi/p/10941843.html

2020-08-09 15:49:51 257

原创 数据库信息整理

数据库信息整理数据库流行度排名目前主要学习1、redis (键值对数据库)2、mysql (关系型数据库)图数据库和文档型数据库暂时不做学习

2020-07-21 23:54:29 165

原创 模拟退火算法解多元函数

模拟退火算法解多元函数题目:F(x)=11.16386−0.0903x1−0.1487x2−0.0664x3+0.09074x4−2.452∗10−4x1x2+6.228∗10−5x1x3+2.457∗10−3x1x4+3.8688∗10−3x2x3−6.471∗10−3x2x4−1.451∗10−3x3x4F(x)=11.16386-0.0903x_1-0.1487x_2-0.0664x_3+0.09074x_4-2.452*10^{-4}x_1x_2+6.228*10^{-5}x_1x_3+2.45

2020-07-07 18:34:36 6017 4

原创 反向SSH实现内网穿透

挺好用,还没来得及整理https://cycoe.cc/2019/04/30/%E5%8F%8D%E5%90%91SSH%E5%AE%9E%E7%8E%B0%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/

2020-04-07 21:53:39 350

原创 redis系列文章--开始

我要做什么突然对redis有点兴趣,决定开始花点时间读一下redis源码,并准备将相关知识点做一个系列文章。基于什么参考书籍:redis的设计与实现代码:redis的设计与实现.pdf 配套带注释源码具体章节第一讲:简单动态字符串SDS...

2020-04-04 22:46:31 158

原创 著名开源项目源码行数--持续更新

linux 内核版本行数5.52700万PostgreSQL版本行数9.6.0124.9万redis版本行数3.2.523000

2020-04-04 20:05:13 616

原创 MPI中如何发送 C++对象或结构体

1、自己把对象中需要发送/接收的元素放进一个数组中,接收之后再按照数组中的数据的顺序重新建立一个对象。如果对象中只有int,bool的话,这个还比较好办,double,string就麻烦一些。改变类的话就可能牵一发而动全身。2、自己定义一个结构体,把对象中需要传输的信息都复制进结构体中,然后MPI_Type_struct()定义一个数据类型,就可以直接用MPI收发了。不要忘了MPI_Type_c...

2020-04-03 01:11:28 2382 1

原创 C++ Map 注意事项

C++ Map 注意事项在map中,由key查找value时,首先要判断map中是否包含key见 C++ Map find函数和count函数重点:如果不检查,直接返回map[key],可能会出现意想不到的行为。如果map包含key,没有问题,如果map不包含key,使用下标有一个危险的副作用,会在map中插入一个key的元素,value取默认值,返回value。也就是说,map[key]...

2020-04-02 19:07:33 290

转载 E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable)

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable)当我的Ubuntu install某个东西时,给出下面提示E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource tem...

2020-03-28 18:04:02 2119

转载 c++中 set vector map最多可以存多少值

c++中 set vector map最多可以存多少值```cppstd::set<int> 214748364std::set<double> 178956970std::set<long long> 178956970std::set<std::string> 214748364std::vector...

2020-03-28 14:47:12 1918

原创 MPI环境配置(二)

MPI环境配置(二)在云服务器上搭建MPI分布式集群环境,采用NFS统一数据,这一次配置时遇到了几个问题,记录一下详细MPI集群环境配置NFS环境搭建,注意,NFS不需要ssh免密登录,不相关本次遇到的问题1、免密登录,需要能免密登录本机有两台机器,node1和node2那么不仅需要node1能够免密登录node2 和 node2能够免密登录node1,还需要node1能够免密登录n...

2020-03-11 19:59:19 640

原创 Ubuntu下修改文件夹的所有者权限

Ubuntu下修改文件夹的所有者权限之前买了一个云服务器,使用时一直使用root,后来认为那种方式不太好,便创建了一个新的用户wj。但是由于之前的文件均由root用户创建,导致wj用户权限不够,使用起来非常不方便,所以采用递归修改文件夹所有者的方式,一次性修改全部文件的权限。ubuntu下创建新用户两个命令Ubuntu中有两个修改命令可以用到,「change mode」&「chan...

2020-03-11 15:28:58 4109 2

原创 Ubuntu 配置 NFS

Ubuntu 配置 NFS分为两个机器,一个是nfs服务器主机,一个是nfs客户端主机使用两个云服务器配置了host ,见百度经验,或博主相关博客,主机名称分别是huawei 做客户机service 做服务器服务端配置安装nfswj@wj:~/nfs$ sudo apt-get install nfs-kernel-server配置/etc/exports文件/home/wj...

2020-03-11 15:14:36 344

原创 【力扣LeetCode】35 搜索插入位置

题目描述(难度易)给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: ...

2020-02-15 15:53:13 147

原创 go语言 环境配置

go语言 环境配置安装软件一般有两类(三种)方式1、直接下载已经编译好的二进制文件,解压后配置环境变量就可以了。2、通过系统的包管理工具,比如 ubuntu apt-get安装,和第一种相同,都是直接对编译好的二进制文件进行安装。3、下载源码,自行编译成二进制文件后安装。使用编译好的二进制文件下载地址:https://golang.google.cn/dl/ubuntu系统选择下面这...

2020-01-13 21:12:36 329

原创 ubuntu创建用户的注意事项

ubuntu创建用户的注意事项出现的问题:/usr/bin/xauth: file /home/user/.Xauthority does not exist原因:是因为添加用户时没有授权对应的目录,仅仅执行了useradd user而没有授权对应的家目录直接解决办法如下(执行如下命令,以后就登录到终端上就不会出现上面的错误信息):chown username:username -R...

2020-01-09 21:02:43 860

原创 ubuntu下查询CPU数,核心数,线程数

ubuntu下查询CPU数,核心数,线程数我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核,多核。CPU除了核心数之外,还有线程数之说,下面笔者就来解释一下CPU的核心数与线程数的关系和区别。简单地说,CPU的核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独...

2020-01-09 18:42:54 9498

原创 MPI集群环境搭建

MPI集群环境搭建系统为了对系统进行统一管理,博主找到了四台相同配置的主机,并统一安装了ubuntu server 16.04.3 LTS系统。安装过程中存在的问题:经过调研,发现这个问题是选择语言的问题,目前发现简体中文和繁体中文会出错,其他语言良好,所以,选择语言时选择English就可以解决这个问题。安装完系统之后,需要配置远程登录,毕竟是服务器,毕竟需要远程登录。sudo pa...

2020-01-08 16:51:45 2176

转载 GaussDB T / A

GaussDB T / A : 从 100 到 200 和 300 命名的变迁华为的 GaussDB 数据库,从传承和沿革上,让行业里的朋友非常困惑,我整理一下相关的信息记录于此。最初,华为的数据库公布出来的型号系列有三款,分别是 100、200 和 300 ,统一的命名都是 GaussDB。GaussDB 100,以 OLTP 为方向,最初和招商银行联合研发,然后推广,在 2020年6月,...

2020-01-07 14:20:33 3432

原创 C++之 fstream open函数( error: no matching function for call to ‘std::basic_ifstream::open(const)

C++之 fstream open函数( error: no matching function for call to ‘std::basic_ifstream::open(const)C++使用fstream进行文件读写,非常的方便,但是在日常使用的时候,常常会忽视掉一些小问题,如下:类定义为:出现的问题的open函数:报错为:但是看上去确实没什么问题,看官方文档:可以看出,f...

2020-01-03 13:03:24 6284 1

原创 DEV-C++调试时出现“项目没有调试信息,你想打开调试选项并重新生成吗”

在NOIP中一般使用DEVC++,配置环境时可能遇到如下问题,导致无法调试在下载完DEV-C++以后进行第一次调试时,系统弹出以上窗口,点击Yes按钮后编译器出现秒退的情况。解决方案菜单栏>>工具>>编译器选项>>代码生成/优化>>连接器>>产生调试信息>>更改为Yes;...

2019-08-20 13:14:09 14173 5

模拟退火算法解多元函数极值.rar

本资源为采用模拟退火算法解多元函数的极值问题。提供了暴力解法的代码和模拟退火算法的代码,通过对比可以发现模拟退火算法可以在时间上得到极大的提高。

2020-07-07

redis的设计与实现pdf以及带注释源码

redis的设计与实现pdf以及带注释源码,详细讲解了redis的内容。该资料没有讲如何使用redis,主要讲redis的实现。希望对redis热爱者起到一定的帮助。

2020-04-04

GoodSync-v10-Setup.exe

这个是一个非常好的服务端与客户端同步的工具,这个是稳定版本,免费易用。

2019-06-15

hadoop fs操作指南

这是一份hadoop fs的操作指南,非常全面,对想学习hadoop的同学帮助非常大。

2019-03-28

网络的表示学习

该文档为复杂网络表示学习的介绍性文章,适合做图的机器学习,表示学习方面的了解与研究的同学。

2018-06-19

拜占庭将军问题

该文档详细讲解了拜占庭将军问题,对学习该问题以及区块链,分布式等相关的,有一定帮助。

2018-06-19

拜占庭问题

该PPT为讲解拜占庭将军问题的PPT,对学习拜占庭将军问题,区块链技术等相关方向的,有一定帮助。

2018-06-19

快速幂算法详细资料

这是一份详细解释快速幂算法的文件,对在学习数据结构以及进行ACM竞赛,NOI与NOIP竞赛的同学有帮助。

2018-05-27

python networkx包使用手册

这是用于计算大规模社交网络的python包,networkx 的使用手册

2018-05-10

绘制社交网络图的幂律分布python代码

这是一个用于进行大规模社交网络图绘制幂律分布曲线的python代码

2018-05-10

office 快速学习视频

这是一个office学习视频的集合,视频很经典,可用于快速上手office相关操作。

2018-05-10

git知识点总结

这是我对git使用的一个总结,对想要了解git如何使用,并致力于理清楚git相关知识点的朋友有所帮助

2018-05-10

大图划分算法总结

这是我对大规模图数据划分算法的一个总结,在进行相关研究,以及对大规模图数据进行处理的朋友有所帮助

2018-05-10

机器学习与概率图模型

一个介绍机器学习中概率图模型的PPT,对在进行机器学习相关研究与学习的同学有所帮助。

2018-05-10

图书管理系统

这是一个简单的用c实现的图书管理系统系统,本科计算机专业课程设计。

2017-05-31

NI Multisim 13.0破解文件

NI Multisim 13.0破解文件可以很好的破解该版本并可以破解较低的版本,很完整,教程很清楚

2015-07-03

链表测试源文件

介绍了链表的创建,合并,插入,删除等各种操作

2015-04-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除