自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++简单实现一个日志类

C++ 没有貌似自带的日志类,如果仅仅使用cout输出调试信息的话比较凌乱,所以我尝试自己实现了一个Logger类,主要考虑实现以下功能:日志等级: 参考python的logger类,我设置了四个日志等级, 从低到高依次为debug, info, warning, error,这样的话我想输出一条debug信息就可以这样写logger.debug("something..."), (关于日志等级是什么意思可以参考一下python的logger类,简单来说就是当日志等级大于等于设置的初始等级时才会记录日志

2020-07-15 14:42:46 7974 14

原创 参数估计:对无偏性的理解

在学习概率论的"参数估计"一章时有一些概念没能理解清楚,尤其是参数估计量的性质。在反复翻书的过程中总算搞清楚了一些,在这里记录一下我的理解无偏性一般书上讲到的第一个性质就是这个,初看很让人头大,如果不弄清楚的话对于后续内容的理解是很大的阻碍按照书上(浙大概率论)的定义,无偏性是指:设 X1,X2,...,XnX_1, X_2, ..., X_nX1​,X2​,...,Xn​ 是总体XXX的一个样本,θ∈Θ\theta\in\Thetaθ∈Θ是包含在总体XXX的分布中的待估参数,其中 Θ\Theta

2020-05-26 11:45:39 5436

原创 谨慎使用apt-get autoremove命令

不知道有没有人跟我一样注意到一件事情,比如执行sudo apt-get install xxx命令安装一个软件包,这时ubuntu会提示你,“这个操作会占用15M的磁盘空间”,某天我不想用这个软件了,我使用sudo apt-get purge xxx卸载这个包,ubuntu也会提示, “已释放1M磁盘空间”,purge选项相对于remove选项来说已经是更彻底的卸载了,但是为什么会造成只释放了一部分空间呢,看上去就像是没有卸载干净一样。造成这种现象的原因当然不是因为安装了流氓软件,而是相关软件包的依赖没有

2020-05-23 18:49:19 1382 2

原创 因硬盘变动导致的ubuntu启动错误: /dev/sda1 xxxx clean, xxxx/xxxx files, xxxx/xxxx blocks

出现时间: 2020-05-22系统: Ubuntu18.04 LTS当出现如标题所示的错误时,可以输入root密码登录,以命令行模式运行,但没有图形界面。cd到家目录发现数据也都还在,所以一开始推测只是图形界面挂了。在网上查阅了一些资料,按照这篇博客所说,原因可能是显卡驱动出问题了或者是磁盘出问题了。我的电脑(台式机)使用核显,突然出问题可能性不大。而在出现这个问题的前一刻我做的一件很"可疑的"事情是交换了两个硬盘的sata线,所以问题应该出在磁盘上。同样按照这篇博客所说,应该登入命令行并修改.

2020-05-22 17:01:32 3192 3

原创 操作系统学习笔记: 死锁

参考资料: 《现代操作系统 3th edtion》原书第六章 死锁在 xmind 上记录一、资源定义需要排他性使用的对象资源就是随着时间的推移,必须能获得、使用以及释放的任何东西分类可抢占资源可以从拥有它的进程中抢占而不会产生任何副作用,比如: 存储器不可抢占资源指在不引起相关的计算失败的情况下,无法把它从占有它的进程处抢占过来,比如: CD刻录机...

2020-04-23 11:21:42 148

原创 《Effective C++》读书笔记: 习惯C++/构造析构赋值/资源管理

让自己熟悉C++条款01: 视C++为一个语言联邦作者认为C++可以看做主要由以下四个"次语言"组成的语言联邦:C语言: 区块、语句、预处理、内置数据类型、数组、指针面向对象的C++: 类、封装、继承、多态、动态绑定(virtual函数)Template C++: 泛型编程STL总结: C++高效编程视状况而改变,取决于使用C++的那一部分条款02: 尽量以const, enu...

2020-04-22 17:15:28 148

原创 操作系统学习笔记: IO设备

参考资料: 《现代操作系统 3th edtion》原书第五章 输入/输出在 xmind 上记录一、硬件原理大致分类块设备CD-ROM/硬盘/USB每个块都能独立于其他块而读写字符设备以字符为单位发送或接收一个字符流,而不考虑任何块结构鼠标/打印机其他设备时钟IO设备组成电子部件称作设备控制器(device controller)或...

2020-04-22 13:11:14 474

原创 操作系统学习笔记: 储存管理

参考资料: 《现代操作系统 3th edtion》原书第三章 储存管理在 xmind 上记录一、地址空间地址空间是一个进程可用于寻址内存的一套地址集合基址寄存器与界限寄存器简单的动态重定位程序的起始物理地址装载到基址寄存器中,程序的长度装载到界限寄存器中每次访问内存都需要进行加法和比较运算,效率低二、交换技术(swaping)用以解决内存不足的情况把一个进程完...

2020-04-21 18:14:53 242

原创 操作系统学习笔记: 进程间通信

参考资料: 《现代操作系统 3th edtion》原书第二章 进程与线程在 xmind 上记录一、临界区对共享内存进行访问的程序片段称作临界区域(critical region)或临界区(criticalsection)使并发进程正常协作的条件任何两个进程不能同时处于其临界区不应对CPU的速度和数量做任何假设临界区外运行的进程不得阻塞其他进程不得使进程无限期等待进入临界区...

2020-04-20 13:34:58 158

原创 操作系统学习笔记:线程

参考资料: 《现代操作系统 3th edtion》原书第二章 进程与线程在 xmind 上记录一、线程使用原因主要原因是,在许多应用中同时发生着多种活动。其中某些活动随着时间的推移会被阻塞。通过将这些应用程序分解成可以准并行运行的多个顺序线程,程序设计模型会变得更简单第二个关于需要多线程的理由是,由于线程比进程更轻量级,所以它们比进程更容易(即更快)创建, 也更容易撤销...

2020-04-19 20:54:39 145

原创 操作系统学习笔记: 进程

参考资料: 《现代操作系统 3th edtion》原书第二章 进程与线程在 xmind 上记录进程模型一个进程就是一个正在执行程序的实例,包括程序计数器、 寄存器和变量的当前值一、创建进程创建进程的场景系统初始化执行了正在运行的进程所调用的进程创建系统调用用户请求创建一个新进程一个批处理作业的初始化在UNIX系统中,只有一个系统调用可以用来创建新进程:fork在调...

2020-04-19 11:10:09 265

原创 使Ubuntu更好用的一些软件/配置

搜狗输入法官网下载安装,在fcitx中添加使用,而不是在设置中。截图工具flameshotsudo apt-get install flameshot将command: /usr/bin/flameshot gui 添加到快捷键安装配置ssh服务sudo apt-get install openssh-server openssh-clientservice ssh start...

2020-04-08 20:54:47 405

原创 《普林斯顿微积分读本》个人读书笔记

6.5 导数伪装的极限

2020-03-29 16:34:48 2131 1

原创 《算法导论》:动态规划学习笔记

参考资料:《算法导论》动态规划1.钢条切割问题一个长度为n的钢条,n为整数,切割为多个长度仍为整数的子钢条,每种长度的钢条价格不一,有一个记录每种长度的钢条价格的价格表p, 求最优切割方案由条件可以推导出以下结论如果长度为n的钢条价格足够高,则无需切割共有2n−12^{n-1}2n−1种不同的切割方案,切割数目m从0到n,每种数目对应Cn−1mC_{n-1}^mCn−1m​种方法...

2020-03-27 16:02:03 202

原创 MySQL LEFT JOIN 左表缺失与重复

MySQL 使用LEFT JOIN 后应该得到的结果是左表所有内容,以及匹配到的右表内容(未匹配的留空),但是在实际使用的时候会出现左表内容不全的情况,这是不应该的,出现这种情况的原因可能是筛选条件的位置放错了。比如现在有两张表:sell (销售)表:iddateprofit00012019-01-013.500012019-01-023.50002...

2020-02-23 18:54:19 5040

原创 redash使用与开发(五):使用python处理数据

添加了执行多句SQL这个功能后,就解锁了更多数据拉取方式。但是这仍然不够,有时候我们想用pandas和numpy处理数据,有时候甚至想用pytorch这种人工智能的方式处理数据,那么仅仅依靠SQL是远不够的,所以必须想想如何在拉取数据与展示数据之间添加一个python数据处理层。我的想法是这样的:输入端输入端就是查询界面书写SQL脚本的地方,但是现在我暂时不在这里写SQL了,而是一种JSON...

2020-02-23 16:57:40 2541 9

原创 linux/ubuntu下postgresql开启远程访问

postgresql默认不开启远程连接,所以在用数据库管理工具尝试连接时会报错。让postgresql开启远程连接需要以下步骤:修改配置文件sudo vim /etc/postgresql/9.5/main/pg_hba.conf在该配置文件下加上如图最后一行:表示允许任何ip地址以任何用户身份连接任何数据库,可以根据实际情况修改。sudo vim /etc/postgresql/9....

2020-02-16 18:43:30 1928

原创 redash使用与开发(四):执行多句SQL

在使用了几天后,我逐渐熟悉了使用SQL语言进行复杂的查询,但是受限于redash的查询逻辑,每次都只能执行一句SQL查询,也就是说只能把想获得的字段全部压进一个SELECT语句中,这样写起来没有结构,很乱,所以需要解决的问题是让它可以执行以分号为分隔的多句SQL, 这样就可以方便地创建临时表、设定临时变量。为此, 需要对负责MySQL查询的函数进行更改,将查询语句按分号分列,同时要注意这其中的一...

2020-02-11 23:55:15 1761

原创 redash使用与开发(三): 汉化

虽然我自己使用英文界面并没有什么困难,可是为了让其他用户更好地使用该系统,汉化是必须的。我原以为汉化会是一个比较困难的过程,可实际操作起来还是挺轻松的。redash虽然是一个单页的应用,但是网页源代码可不是集中在一个文件中的,为此需要了解以下redash前端文件的构成。前端目录结构redash的前端页面源代码主要集中在 redash/client/app文件夹中,应用了 React, Angu...

2020-02-10 22:00:22 2103

原创 redash使用与开发(二):改变服务运行的地址和端口、连接mysql数据库

最近开始将服务在局域网中部署,但是犯了一些错误导致浪费了不少时间, 今天在这里记录一下:localhost和0.0.0.0localhost即127.0.0.1,是本机的环回地址,无法被外部访问0.0.0.0表示本机所有ip地址,可以被外部客户端访问redash项目使用命令./manage.py runserver --debugger --reload默认运行在 localhost:...

2020-02-08 16:07:29 2553 5

原创 redash使用与开发(一):项目安装与运行

本文是对redash的官方文档 Developer Installation Guide 的一些理解注: 以下内容默认使用Ubuntu18.04环境一、安装依赖1.安装Redissudo apt-get install redis-serverredis暂时不需要进行复杂的配置2.postgreSQL 安装与配置主要用到的命令有:安装 sudo apt-get install ...

2020-02-08 16:04:19 4269 1

原创 对方差分析的理解与应用-matlab实现

171180624 沈志杰

2020-02-07 23:59:44 3650

原创 Mysql JOIN多表嵌套查询

网上找的大多数有关嵌套查询的都是关于 IN 的使用,比如SELECT * FROM tab1 WHERE key IN (SELECT key2 FROM tab2)通常来说这样的嵌套只能处理比较简单的情况,在相对复杂的情况下可能要对多个键进行配对,在这里我记录一下踩的坑SELECT stockInfo.Shop AS 门店, goodsInfo.Name AS SKU名...

2020-02-02 20:56:35 5177

原创 数据库迁移:从MySQL到PostgreSQL

现在由于某些原因我需要把一个MySQL数据库中的数据迁移到PostgreSQL中,本来打算使用python脚本解决,后来通过简单的导出导入sql文件解决了迁移问题。MySQL端: 导出.sql备份文件使用mysqldump命令导出完整的表结构和表数据mysqldump dbname -u username -p -t table_name > /.../.../xxx.sql如只需导...

2020-01-28 21:20:57 4290 3

原创 python保存excel文件列宽自适应解决方案

背景

2019-11-11 14:36:00 21782 29

原创 webdriver使用笔记: 查找元素、滚动条、解除输入框只读限制、获取元素的id

如果使用find_by_class_name查找失败,考虑使用find_by_css_selector滚动条滚到底js="var q=document.documentElement.scrollTop=100000" chrome.execute_script(js)

2019-10-23 09:00:49 182

原创 Pandas基本操作记录

pandas提供了从excel、csv、txt读取数据的函数,下面将以读写excel文件为例导入头文件import pandas as pd使用import…as…简化库名是一种较常用的操作读取xlsx文件df = pd.read_excel('数据分析.xlsx','Sheet1')新版本的excel生成的文件后缀一般都是.xlsx,老版本是.xls,使用pandas库...

2019-10-09 00:39:09 798 1

原创 不借助第三个临时变量交换两个数的值:位运算笔记

使用位运算交换两个数的值void swap(int *x, int *y){//假设原始数据x=a,y=b *y = *x ^ *y;//此时x=a不变, y=a^b *x = *x ^ *y;//此时x=a^a^b=b, y=a^b不变 *y = *x ^ *y;//此时x=b不变, y=b^a^b=a}其中^表示按位bool运算: “EXCLUSIVE-OR异或”,具有性质:...

2019-07-04 14:32:06 387

原创 用C语言实现Linux下的sqlite3数据库操作

最近在写一个多人聊天室程序,想用数据库管理用户名密码等数据,一开始想用的是mysql,无奈因为更新,权限等一系列问题我实在不太用得来,所以最后转向比较轻量的sqlite3数据库。在这篇博客里我想记录一下在终端和用C语言操作sqlite3数据库的基本方法。终端操作1.创建数据库文件sqlite3 databasename.db直接在终端输入即可,这个命令会打开对应的数据库文件,如果文件不存在...

2019-06-20 11:04:42 1820

原创 Linux使用expect脚本命令登录远程服务器(SSH)

最近租用了腾讯云的服务器,在Linux虚拟机下使用ssh命令登录很方便,但每次都要输密码,虽然也可以使用密钥免密登录,但这样不知为何使用scp命令又出现了一些问题,所以我想写一个脚本命令,直接运行登录。准备安装expect,这是一个类似于bash的工具,需要额外安装sudo apt-get install expect编写脚本#SSH登录我的服务器#下一行表示使用expect包#...

2019-06-10 19:33:54 3862

原创 C++中的一些构造函数

构造函数

2019-05-12 16:17:40 108

原创 Leetcode解题笔记:题7~9

7.整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。第七题以及后面的第八题都涉及一个核心问题:字符串转数字的溢出判断。反转数字的算法很简单,关键是在反转的同时防止溢出。这个问题我在另一篇博客里写过:防止溢出需要注意的是对于正数和负数的处理略有不同,因为 INT_MIN 和 INT_MAX 的绝对值并不是相等的,INT_MIN的绝对值大1。int rev...

2019-05-11 11:50:15 122

原创 Leetcode解题笔记:题4~6

以下题目来自Leetcode,中文网站:https://leetcode-cn.com/4- 寻找两个有序数组的中位数思路:解决这个问题最先想到的就是归并排序中用到的思想,对于两个有序的数组(链表、容器),只要依次比较最前面的两个元素,将较小者存入第三个数组,同时该数所在数...

2019-04-30 10:11:52 118

原创 Leetcode解题笔记:题1~3

题目原题地址复述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9,则返回[0,1]分析...

2019-04-27 23:33:26 201

原创 Linux下的C编程:gcc编译学习笔记

什么是gcc

2019-04-27 19:46:53 1131

原创 C++:防止int32溢出--以反转数字为例

int32溢出

2019-04-20 01:04:31 3602 1

原创 C++学习笔记:单词转换程序

文字转换程序

2019-04-13 20:18:42 544

原创 Github+jekyll:建立你自己的博客网站

准备一台电脑一个github账号(可选)一个可以正常解析的域名在github上部署自己的网页登陆github,选择“New repository”来创建一个新的代码仓库。如果你想在GitHub上部署网页,仓库的名称必须为username.github.io好了,你现在已经有了一个可以用来储存网站的素材和html文件的代码仓库。你将要搭建的网站的入口是index.html, 一般来...

2019-04-11 00:41:24 800

空空如也

空空如也

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

TA关注的人

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