11 2021 档案
摘要:66. 加一 #include <iostream> #include <vector> using namespace std; class Solution { public: vector<int> plusOne(vector<int>& digits) { if (digits[digit
阅读全文
摘要:源码分析 准备工作 参考资料: flask工作原理与机制解析 Flask documentation GitHub 使用IDE:Pycharm python解释器:python3.6 另外,在粘贴源码时,删除了无关部分,只挑出与执行流程相关的主干部分。 启动流程分析 从helloworld读起,这是
阅读全文
摘要:134. 加油站 题解:https://leetcode-cn.com/u/mctw/ 有一个环形路上有n个站点; 每个站点都有一个好人或一个坏人; 好人会给你钱,坏人会收你一定的过路费,如果你带的钱不够付过路费,坏人会跳起来把你砍死; 问:从哪个站点出发,能绕一圈活着回到出发点? 首先考虑一种情况
阅读全文
摘要:75. 颜色分类 #include <iostream> #include <vector> // https://leetcode-cn.com/problems/sort-colors using namespace std; class Solution { public: void sort
阅读全文
摘要:283. 移动零 #include <iostream> #include "vector" using namespace std; // v1 /* class Solution { public: void moveZeroes(vector<int>& nums) { vector<int>
阅读全文
摘要:26 删除有序数组中的重复项 思路,快慢指针 题目明确是升序排列的。 快指针遍历,慢指针代表当前值; 遇到不相等元素时,如果i和j相差超过2说明中间肯定有重复的元素,慢指针自增1然后更新数组元素。 如果没有超过2说明没有重复,单纯让慢指针自增1,不更新数组。 #include <iostream>
阅读全文
摘要:简介 如果一套机器上有很多虚拟环境,各自安装了不同的依赖,想要导出的时候会很麻烦。有两种方法可以解决这个问题。 1 pip freeze 可以创建一个requirement.txt来告知使用者,该项目依赖的模块有哪些。 pip freeze >requirement.txt 在项目目录下就会创建一个
阅读全文
摘要:Flask 一、介绍和安装 Flask是一个基于WSGI协议的轻量级web框架,它使用起来非常简单且快捷,并且有能力扩展到开发大型项目。它基于 Werkzeug and Jinja 开发,已经成为目前流行的Python web应用程序框架之一。Flask为开发者提供了一些建议,但是并不会强制依赖某些
阅读全文
摘要:附1、paramiko的简单使用 该模块可以利用python远程执行linux命令,实现自动化操作多台机器。 相关链接:官方文档,github 下面是一个简单的例子: import paramiko # 创建ssh对象 client = paramiko.SSHClient() # 设置连接策略,允
阅读全文
摘要:进程管理 程序在运行后,我们需要了解进程的运行状态。查看进程的状态分为: 静态和动态两种方式。 1 使用ps命令查看进程状态 ps -aux # -a:显示当前终端的所有进程信息 # -u:以用户的形式显示进程信息 # -x:显示后台进程运行的参数 状态 描述 USER 启动进程的用户 PID 进程
阅读全文
摘要:系统服务systemd 参考文章:Systemd 入门教程:命令篇 1 系统服务介绍 系统服务是在后台运行的应用程序,并且可以提供一些本地系统或网络的功能。我们把这些应用程序称作服务,也就是Service。它们通常都会监听某个端口,等待其它程序的请求,比如mysql,nginx等等。 linux的启
阅读全文
摘要:文件权限管理 在之前的介绍中,我们知道文件的权限属性,下面就来详细介绍linux的权限管理。 1 为什么要引入权限 如果你使用windows系统,你会发现winodws系统也有权限的概念,右键一个文件,点击属性,安全,可以看到如下内容。 这里的完全控制/修改/读取和执行/读取/写入就是权限类别,wi
阅读全文
摘要:压缩和解压 在linux安装一些软件时,可能需要下载压缩包安装,所以解压是非常重要的操作。你可能会使用一些ftp工具将windows的压缩包上传到linux上,首先要知道,windows常用的压缩格式有rar或zip,在linux上常用的是tar.gz和zip,Linux上的压缩格式放在window
阅读全文
摘要:软件管理 1 RPM介绍 RPM是Red-Hat Package Manager(红帽软件包管理器)的缩写,一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.rpm扩展名的文件。 如下图,是一个rpm包,它由这几个部分组成:软件名称,版本号,发布次数,平台,扩展名。
阅读全文
摘要:关于SSH免密登录不生效问题采坑 问题描述 在部署本地博客到服务器时,按照步骤首先创建密钥,然后把公钥粘贴到到服务器文件中vim .ssh/authorized_keys,按理来说已经配置成功了。事实上来说也应该这样,但是!早晚有一天会发现事情不是这么简单,明明已经配置好了公钥,却由于各种原因会导致
阅读全文
摘要:hexo本地博客部署到云服务器 1 准备工作 在开始部署之前,你需要做如下准备: 本地搭建完成的博客 一台windows/mac电脑(如果你的电脑是linux应该不用看本篇教程吧) 一台云服务器(理论上来说任何服务商都可以,本教程以腾讯云为例) 本地电脑安装一个ssh连接工具(或者bash终端) 可
阅读全文
摘要:用户管理 1 介绍 linux支持多用户,并且Linux系统允许同一时刻多个用户同时登陆,登陆后相互之间操作并不影响。 由于root权限过大,很容易误操作造成系统风险,所以需要新建一些用户,使用普通用户管理服务器。同时,用户还有属组的概念,可以给用户分配到不同的组,使其拥有不同的权限。一个用户可以拥
阅读全文
摘要:文件编辑 1 介绍 因为Linux系统一切皆为文件,而我们工作最多的就是修改某个服务的配置(其实就是修改文件内容)。vi和vim是Linux下的一个文本编辑工具,和winodws的记事本是一样的作用。 1.1 vi和vim有什么区别 vi和vim都是文本编辑器,只不过vim是vi的增强版,可以当作v
阅读全文
摘要:文件管理 文件管理是对一个文件进行、创建、复制、移动、查看、编辑、压缩、查找、删除等等。linux一切皆文件,所有的修改最终都是对文件操作。 1 linux文件目录结构 几乎所有的计算机操作系统都是使用目录结构组织文件。一般使用树状的文件结构,所以该结构又被称为“目录树”。 windows的目录数据
阅读全文
摘要:Bash shell Bash Shell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。当我们使用远程连接工具连接linux服务,系统则会给打开一个默认的shell,我们可在这个界面执行命令,使用Shel
阅读全文
摘要:绪论 1 什么是linux Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件。Linux继承了Unix以网
阅读全文
摘要:前言:水平十分有限,仅仅是个人总结linux的入门知识,参考资料众多无法一一考证出处,如有侵权请联系删除! 并不能保证内容全部正确,请读者仔细甄别,如有错误欢迎批评指正。 一、绪论 二、Bash Shell 三、文件管理 四、文件权限管理 五、文件编辑 六、用户管理 七、压缩与解压 八、软件管理 九
阅读全文
摘要:请注意,不是原创,转载自这里 Ubuntu20.04安装完成之后,默认是没有root账户登录权限的,不过我们可以通过创建的普通用户获取管理员权限,然后修改配置和root账户的密码,最后实现登录root账户,具体操作步骤如下: 1 以普通用户登录系统,创建root用户的密码 在终端输入命令: sudo
阅读全文
摘要:BeautifulSoup Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式。Beautiful Soup会帮你节省数小时甚至数天的工作时间。 中文文档 1 安装模块 $ apt-get ins
阅读全文
摘要:基本介绍 1 爬虫的基本流程 模拟浏览器发送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中 对每一个步骤进行分析: #1、发起请求 使用http库向目标站点发起请求,即发送一个Request Request包含:请求头、请求体等 #2、获取响应内容 如果服务器能正常响应,则会得到一
阅读全文
摘要:request模块 使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) 1 安装模块 pip install requests 它支持各种请求方式,常用的就是requests.get()和requests.pos
阅读全文
摘要:使用hexo-butterfly框架搭建个人博客 这里记录一下我自己搭建(魔改/照搬他人)个人博客的步骤,日后查找起来也方便。 欢迎访问我的个人博客点击这里预览效果 留言板信封 出自https://akilar.top/posts/e2d3c450/ 这里直接npm安装配置拿来用了。这里转载一下安装
阅读全文
摘要:过滤组件django-filter 官方文档:https://django-filter.readthedocs.io/en/main/ 1 安装 pip install django-filter 在django配置文件中注册app INSTALLED_APPS = [ ... 'django_f
阅读全文
摘要:Hexo搭建个人博客 1 介绍 Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 如果你希望自己的博客自定义程度更高,并且愿意折腾的话,Hexo是不二选择。 2 安装 如果已经安装,请跳过本节。 Hex
阅读全文
摘要:一、Redis基础 1 Redis是什么 是一个key-value存储系统,是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。 Redis
阅读全文
摘要:多个github帐号如何使用SSH不产生冲突 使用场景: 1.我有两个github帐号A,B 2.我只有一台电脑,但是A和B都需要连接 3.最开始单独使用A的时候,创建了一对密钥;现在想连接B仓库,使用原来的密钥会提示"SSH已经被使用,无法添加" 问题分析: github不允许多个账号添加同一个公
阅读全文
摘要:Git 快速入门 1 Git概述 Git是一个分布式版本控制软件。 软件:需要安装在电脑上使用的工具 版本控制:开发过程中需要保存修改历史,方便更改历史记录等 分布式:是版本控制的一种方式 后面两个概念不太好理解,我们分别来介绍。 2 版本控制 版本控制(Revision control)是一种在开
阅读全文