自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(185)
  • 收藏
  • 关注

原创 工作中 docker 的使用积累

lowerdir 是只读的 image layer,

2023-12-13 16:54:04 493

原创 工作学习中对 Windows 的积累

【代码】工作学习中对 Windows 的积累。

2023-06-06 17:21:07 113

原创 使用file.raw竟然出现 net::ERR_ACCESS_DENIED

ds

2023-02-15 19:47:32 560 1

原创 vue+django+axios 上传含文件的表单,报“上传的数据不是一个文件”

df

2023-02-15 15:16:13 225

原创 vscode连接 linux 服务器

参考链接1:https://blog.51cto.com/u_14239789/2505106参考链接2:https://qlzhu.github.io/blog/15892/1、创建公钥在这一步,我使用的策略是,在 windows 下使用 putty 连接远程服务器(ip:10.96.26.69)然后将公钥复制到/home/dell 下的.ssh/authorized_keys。注意在dell用户里添加了公钥,后续就使用 dell 登录3、配置 Remote-SSH插件一定要添.

2022-04-04 22:17:21 443

原创 vscode配置C/C++笔记(硬要使用C++11)

1 launch.json 控制的是debug的配置{ "version": "0.2.0", "configurations": [ { "type": "lldb", "request": "launch", "name": "Debug", //"program": "${workspaceFolder}/test.out", //上一行是..

2022-01-25 15:46:37 1493

原创 [leetcode]额外笔记

1 寻找最后一个小于等于(<=)target的数关键判断语句 (最后一个—>right)if (vec[mid] > target) right = mid - 1; // vec[right]始终小于等于target vector<int> vec = {-5, -2, 1, 0, 4, 6, 8, 11, 17, 23, 35, 26}; int row = 0, left, right, mid, target = 7; left = 0, ri

2021-12-27 10:05:01 2911

原创 鸟哥的Linux私房菜——第三部分|第19章 认识与分析日志文件

1 什么是日志文件日志文件:记录系统何时由哪个进程做了什么行为,发生了何种事件。1.日志的重要性1)解决系统方面的错误;2)解决网络服务的问题;3)过往事件记录簿;2.Linux常见的日志文件名1)/var/log/cron:与例行性工作调度相关的日志2)/var/log/messages:记录大部分系统发生的错误信息的日志;3)/var/log/httpd/*, /var/log/news/*, /var/log/samba/*:不同的网络服务的日志...

2021-12-25 11:15:57 474

原创 鸟哥的Linux私房菜——第三部分|第17章 程序管理与SELinux初探

1 进程的查看利用静态的ps或者动态的top,或pstree来查阅程序树之间的关系。ps:将某个时间点的进程运行情况选取下来ps aux <= 查看系统所有的进程数据ps -lA <= 查看系统所有的进程数据ps axjf <= 连同部分进程树状态参数:-A:所有的进程均显示出来-a:不与terminal有关的所有进程-u:有效用户(user)相关的进程x:通常与 a 这个参数一起使用,可列出较完整信息输出格式规划:l:较长、较详细地将该 PID 的信息

2021-12-20 22:30:47 2622

原创 鸟哥的Linux私房菜——第三部分|第18章 认识系统服务(daemons)

1 daemon的主要分类①独立启动的stand alone;②通过一个super daemon来统一管理的服务stand_alone:此daemon可以自行单独启动服务daemon 启动并加载到内存后就一直占用内存与系统资源。最大的优点是:因为一直存在内存内持续的提供服务,因此对于发生客户端的请求时,stand alone 的daemon响应速度较快。super daemon:一个特殊的daemon来统一管理super daemon通过一个统一的daemon【xinetd】来负责唤起服务。当

2021-12-20 15:35:41 127

原创 鸟哥的Linux私房菜——第三部分|第11章 认识与学习bash

1 认识bash这个shell用户通过shell与内核进行通信,而内核与硬件进行通信。shell的功能只是提供用户操作系统的一个接口,因此它需要调用其他独立的软件(应用程序)。1.1 环境变量的功能env命令:查看环境变量set命令:查看所有变量(含环境变量与自定义变量)export命令:自定义变量转成环境变量登陆Linux并取得一个bash后,这个bash就是一个独立的进程。在bash下面执行的任何命令都是由这个bash衍生出来的,那些被执行的命令称为子进程。子进程会继承父进程的环境变量

2021-12-19 09:44:54 805

原创 鸟哥的Linux私房菜——第二部分|第9章 文件与文件系统的压缩与打包

1 Linux系统常见的压缩命令Linux支持非常多的压缩技术*.Z compress程序压缩的文件 // 快被淘汰*.gz gzip程序压缩的文件*.bz2 bzip2程序压缩的文件*.tar tar 程序打包的数据,并没有压缩过*.tar.gz tar程序打包的文件,其中经过gzip的压缩*.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩1 gzip使用gzip进行压缩时,在默认的状态下原本的文件会被压缩成为.gz的文件名。gzip [-cdtv#] 文件名

2021-12-18 16:13:52 89

原创 鸟哥的Linux私房菜——第二部分|第8章 Linux磁盘与文件系统管理

1 认识EXT2文件系统1.1 硬盘组成与分区的复习第一个扇区最重要,里面有硬盘主引导记录(Masterbootrecord, MBR)及分区表(partition table),其中MBR有446B,分区表有64B。1.2 文件系统特性磁盘分区完毕后需进行格式化,之后OS才能使用这个分区。因为每种OS所设置的文件属性/权限并不同,为了存放这些文件所需的数据,需进行将分区格式化,以被OS利用。文件系统的运行与OS的文件数据有关,包括实际内容数据及属性。文件系统通常会将这两部分的数据分别放在不同的块

2021-12-18 15:14:33 1128

原创 如何安装并启动Jupyter-notebook

参考:https://jupyter.org/installInstallationInstallation with mambamamba install -c conda-forge jupyterlabInstallation with condaconda install -c conda-forge jupyterlabInstallation with pippip install jupyterlabRunjupyter-lab

2021-12-16 08:58:14 178

原创 AdaCare实验笔记

根据要求,我是直接将MIMIC-III的/data/decompensation目录直接拷贝到当前project的/data目录如果按要求运行程序,会在main.py的**normalizer.load_params(normalizer_state)**语句报错,说”没有该文件“。这个错误是该工程文件的系统错误,这个decomp_normalizer被误放在utils文件夹下。解决办法:将其拷贝或挪到decompensation目录下。...

2021-12-08 21:57:52 182

原创 More Exceptional C++|Chapter 4:继承与多态

Item24:为什么要用多继承?设计准则:避免继承自多个“非protocol”类(即完全由纯虚函数组成,无数据成员的抽象基类)什么时候使用MI才算合适?简而言之:只有在每一个继承单独取出来看都合适的时候,这样的MI才算合适。在现实世界中,MI的应用大都逃不出以下三类:结合使用程序模块或程序库。若你想写一个类,它用到了两个程序库,每个程序库要求你从它的某个类继承,且你无法修改程序库。此时,MI就是必要的,没有其他选择。此时,使用MI完全合理 。类。MI最合适、最安全的应用是

2021-12-03 14:50:45 421

原创 【数据结构C++邓俊辉】Chapter12排序

1 快速划分算法1.1 轴点构造算法 【版本A】——“勤于拓展,懒于交换”swap随机挑选pivot的操作,在一定程度上降低最坏情况出现的概率。【或者使用 “三者取中法” :挑选3个,取中值】template <typename T>Rank Vector<T>::partition (Rank lo, Rank hi) { swap(_elem[lo], _elem[lo + rand() % (hi - lo + 1)]); // 任选1个元素与首元素交换 T

2021-10-11 10:27:24 88

原创 【数据结构C++邓俊辉】Chapter11 串

1 串匹配1.1 蛮力匹配法——版本1int match(char* P, char* T) { // P是匹配串(模式位复位),T是被匹配串(文本串) size_t n = strlen(T), i = 0; size_t m = strlen(P), j = 0; while (j < m && i < n) { if (T[i] == P[j]) { i++; j++; } else { // 文本串回退,模式位复位 i

2021-10-10 10:23:49 94

原创 Effective C++|Chapter 6:继承与面向对象设计

C++各种不同特性的真正意义。例如"public继承"意味着"is-a",virtual函数意味"接口必须被继承",non-virtual函数意味"接口和实现必须被继承"。Item32:确定你的public继承塑模出is-a关系只需要记住:public inheritance(公开继承)意味"is-a"(是一种)的关系。derived class is a base class.Item33:避免遮掩继承而来的名称这个题材要讨论和作用域有关的话题int x; // global变量.

2021-10-01 09:08:19 95

原创 Effective C++|Chapter 4:设计与声明

Item 20:宁以pass-by-reference-to-const替代pass-by-value以下代码使用pass-by-value方法,调用validateStudent(Student s)的成本是“6次构造函数和6次析构函数”:1次Student copy构造函数调用,1次Student析构函数调用;由于Student继承Person,因此构造Student前需构造Person。1个Student对象有2个string,1个Person对象也有2个string,所以这里有对string对

2021-09-30 20:30:42 89

原创 Effective C++|Chapter 5:实现

Item26:尽可能延后变量定义式的出现时间以下示例的函数过早定义变量"encrypted": 如果异常被抛出,那么变量"encrypted"的构造消耗就浪费了string encryptPassword(const string& password) { using namespace std; string encrypted; if (password.length() < MinimumPasswordLength) { throw logic_error

2021-09-30 20:30:30 92

原创 Effective C++|Chapter 3:资源管理

Item13:以对象管理资源熟记:任何向系统申请得来的资源,不再使用它们时,必须将它们还给系统。不能倚靠程序员会谨慎写程序释放资源。如下:尽管在f()函数有delete pInv,但是如果程序中间有控制流return / goto,而未delete pInv,那么就会导致资源泄漏。void f(){ Investment* pInv = createInvestment(); ... delete pInv; }解决办法:使用标准程序库提供的“智能指针”auto_ptr

2021-09-29 10:14:56 68

原创 Effective C++|Chapter 2:构造/析构/赋值运算

Item05: 了解C++默默编写并调用哪些函数编译器会自动为空类empty class声明一个copy构造函数、一个copy assignment操作符和一个析构函数。此外,若无声明任何构造函数,编译器也会自动声明一个default构造函数;若已声明构造函数,则编译器不会再声明一个default构造函数。class Empty {};编译后相当于:class Empty {public: Empty() {...} // default构造函数 Empty(const Emp

2021-09-26 12:16:24 95

原创 Effective C++|Chapter 1: 让自己习惯C++

Item 02: 尽量以const,enum,inline替换#define 【宁可以编译器替换预处理器】1) #define定义的变量在预处理阶段即被替换成常量,即该记号并未进入记号表 (symbol table) 因此若该变量出现错误,则编译错误会让你对它来自何处毫无概念。#define CC = 1; // 避免使用const int CC = 1; // 而应该使用constclass静态成员函数的声明与定义class CostEstimate {private: sta

2021-09-16 22:35:07 62

原创 matlab语法笔记

1 m行n列a = [1 2 3; 4 5 6; 7 8 10]2 全0、全1、随机矩阵rand、randiz = zeros(5,1);z = ones(5,1);3 矩阵转置使用单引号(’)4 逆矩阵inv()5 按元素乘(multiply element-wise):使用. [如a.*a, a.^3]6 串联水平串联A = [a, a]垂直串联A = [a; a]7 数组索引1)取矩阵A 的i行j列 【i和j都是介于1<=i/j<=size】使用 A(

2021-09-13 10:06:54 366

原创 [leetcode-N皇后问题]

leetcode 51 N皇后问题1 基于集合的回溯1 每次调用都是对给定row的位置求解。2 皇后所在的列column 跟 其主对角线、副对角线的位置都可以用一个数值表示,记录了已摆放好的k个皇后的column、主对角线、副对角线就记录了棋盘上已被占据的势力范围。3 此处queens和columns存放数据的逻辑是一样的,之所以用两个数据结构重复存储相同的值,原因是:1)vector数据类型是按顺序存取,后续用[…Q…]字符串表示solution时会用到数据的下标所蕴含的信息,此时不可用hash

2021-09-11 19:29:09 126

原创 C++的this与*this

this is a pointer, and *this is a dereferenced pointer.If you had a function that returned this, it would be a pointer to the current object, while a function that returned *this would be a “clone” of the current object, allocated on the stack – unless y.

2021-09-11 16:45:08 593

原创 【数据结构C++邓俊辉】Chapter 2 向量

Chapter 1 向量1.1 Fabonacci数:线性递归,返回当前计算值,通过引用记录上一计算值https://blog.csdn.net/qq_43118572/article/details/1201399461.2 Vector向量支持的操作接口https://blog.csdn.net/qq_43118572/article/details/1201424651.3 删除区间删除: remove(lo, hi)这种方式不是删除一次挪动一次数组,大大减少了时间复杂度

2021-09-07 20:54:38 1480 2

原创 Vector向量支持的操作接口

操作接口功能size()get®获取秩为r的元素put(r, e)用e替换秩为r元素的数值insert(r, e)e作为秩为r元素插入,原后继元素依次后移remove®删除秩为r的元素,返回该元素中存放的对象disordered()判断所有元素是否已按非降序排列sort()按非降序方式排序find(e)查找等于e且秩最大的元素(若无e则返回-1)search(e)查找目标元素e,返回不大于e且秩最大的元素dedupl...

2021-09-07 16:01:43 81

原创 Fabonacci数:线性递归,返回当前计算值,通过引用记录上一计算值

int fib(int n, int& prev) { if n < 1 return -1; if (n == 1) { prev = 0; return 1; } else { int prevPrev; prev = fib(n-1, prevPrev); // 递归计算前两项 return prevPrev + prev' }}

2021-09-06 19:09:08 97

原创 动态规划专题

5 最长回文串官方题解链接:https://leetcode-cn.com/problems/longest-palindromic-substring/solution/zui-chang-hui-wen-zi-chuan-by-leetcode-solution/方法一:动态规划法此类问题的关键是先确定子串长度【即先for sublen】,再确定左右游标【即后for left】。我的不通过的写法:这种写法错误的原因是最长回文串不能先确定左右游标,而必须先确定子串长度,再确定游标。【详细往

2021-09-04 21:03:16 41

原创 Mac配置clion的C compiler报错问题

1 点击Let CMake Detect查看错误信息:/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /Users/apple/CLionProjects/untitled16-- The C compiler identification is unknown-- The CXX compiler identific

2021-09-04 14:44:08 2682

原创 【IPC-UNIX网络编程】第13章 Posix共享内存区

1 向一个服务器发送消息服务器启动后创建一个共享内存区对象,各个客户进程在其中放置消息。服务器仅仅输出这些消息。我们有必要存入在存入消息的各个客户和取走并输出消息的服务器之间采取某种形式的同步。共享内存区对象布局的结构: #include "unpipc.h" #define MESGSIZE 256 #define NMESG 16 struct shmstruct { sem_t mutex; sem_t nempty; sem_t nstored; int nput

2021-09-02 15:47:48 42

原创 【IPC-UNIX网络编程】第12章 共享内存区

1 概述共享内存区是可用IPC形式中最快的。一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传递就不再涉及内核【即进程不再通过执行任何内核的系统调用来彼此传递数据】。显然,内核必须允许各个进程共享该内存区的内存映射关系,然后一直管理该内存区(处理页面故障等)。反面样例考虑用来传递各种类型信息的一个示例客户-服务器文件复制程序中涉及的通常步骤:服务器从输入文件读。 该文件的数据由内核读入自己的内存空间,然后从内核复制到服务器进程【文件输入->内核内存->服务器进程】服务

2021-09-02 14:19:09 71

原创 【IPC-UNIX网络编程】第10章 Posix信号量

1 概述信号量是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语。有三种类型的信号量:Posix有名信号量:使用Posix IPC名字标识,可用于进程或线程间的同步;Posix基于内存的信号量【无名信号量】:存放在共享内存区中,可用于进程或线程间的同步;System V信号量:在内核中维护,可用于进程或线程间的同步。首先考虑二值信号量,该信号量由内核来维护:Posix信号量不必在内核来维护。另外,Posix信号量是由可能与文件系统中的路径名对应的名字来标识。 如下是Posi

2021-09-01 20:34:54 103

原创 【IPC-UNIX网络编程】第8章读写锁

1 获取与释放读写锁读写锁的数据类型为pthread_rwlock_t。它可由PTHREAD_RWLOCK_INITIALIZER静态分配来初始化它。pthread_rwlock_rdlock与pthread_rwlock_wrlock若获取不了读写锁,则会阻塞调用线程。// 成功则返回0,走着返回正的Exxx值#include <pthread.h>int pthread_rwlock_rdlock(pthread_rwlock_t *rwptr);int pthread_rw

2021-08-31 16:07:48 126

原创 【IPC-UNIX网络编程】第7章互斥锁和条件变量

1 互斥锁:上锁与解锁互斥锁用于保护临界区(的共享数据),以保证任何时刻只有一个线程在执行其中的代码。lock_the_mutex(...);临界区unlock_the_mutex(...);下列3个函数给一个互斥锁上锁和解锁:#include <pthread.h>// 成功则返回0,否则返回证得Exxx值int pthread_mutex_lock(pthread_mutext_t *mptr);int pthread_mutex_trylock(pthread_

2021-08-30 20:00:32 87

原创 【IPC-UNIX网络编程】第6章 System V消息队列

1 概述System V消息队列使用消息队列标识符标识。具有足够特权的任何进程都可以往一个给定队列放置一个消息 / 读出一个消息。对于系统中的每个消息队列,内核维护一个定义在<sys/msg.h>头文件中的信息结构:struct msqid_ds{ struct ipc_term msg_perm; // read_write perms struct msg *msg_first; // ptr to first message on queue struct ms

2021-08-29 20:07:53 90

原创 【IPC-UNIX网络编程】第5章 Posix消息队列

1 概述消息队列可认为是一个消息链表。在某个进程往一个队列写入消息之前,并不需要另外某个进程在该队列上等待消息的到达【消息队列具有随内核的持续性】。这跟管道和FIFO是相反的。后两者,除非读出者已存在,否则先有写入者是无意义的。当一个管道或FIFO的最后一次关闭发生时,仍在该管道或FIFO上的数据将被丢弃。Posix消息队列与System V消息队列的主要差别对Posix消息队列的读总是返回最高优先级的最早信息,对System V消息队列的读则可以返回任意指定优先级的消息。当往一个空队列放置

2021-08-29 16:12:55 90

原创 【IPC-UNIX网络编程】第4章管道和FIFO

1. 一个简单的客户—服务器例子Client从标准输入(stdin)读进一个路径名,并把它写入IPC通道。Server从该IPC通道读出这个路径名,并尝试打开其文件。若server能打开该文件,它能读出其中的内容,并写入(不一定同一个)IPC通道,以作为对客户的响应;否则响应一个错误信息。2. 管道管道由pipe函数创建,提供一个单向数据流。该函数返回2个文件描述符:fd[0]和fd[1]。前者读,后者写。【半双工】也可创建【全双工】IPC管道。(全双工:管道两端既可读又可写)【常见用途

2021-08-26 22:06:04 143

空空如也

空空如也

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

TA关注的人

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