自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Powershell 下执行脚本

Windows 下直接用 cmd 命令行效果不佳,熟悉了 Linux 环境,使用 PowerShell 较为方便,但是 Power’Shell 默认以 Restricted 执行策略启动,Restricted 执行策略不允许执行任何脚本。要在 PowerShell 下执行脚本,需要以管理员方式启动 PowerShell, 并使用 set-executionpolicy remotesigned 命令修改执行策略。这样就可以在 PowerShell 中执行脚本了。...

2020-11-28 16:25:41 2041 1

原创 Rust 基本语法

Rust 基本语法示例程序如下。// 文件名:lib.rs// rust lib 文件,main.rs 中调用了该函数pub fn say_hello(){ println!("Hello you guys!");}// 文件名:main.rs// rust 基本语法示例程序mod lbt;extern crate rand;extern crate regex;extern crate serde;extern crate serde_json;#[macro_

2020-11-03 13:09:38 1427

原创 两数相加

leetcode 第二题之前华为面试一面的原题,当时没有写出 bug-free 的代码,突然想起来这道题与硬件电路中的加法器设计类似,类比的写出了相应的解法,通过了 leetcode 测试。# 整体思想是硬件电路设计中的一位加法器通过级联构成多位加法器# 链表节点定义class ListNode: def __init__(self, x): self.val = x self.next = None# 两个一位十进制数相加(模拟硬件电路中的一位全加器

2020-11-02 22:23:12 211

原创 Linux 常用命令

Linux 常用命令设置主机名配置网络设置主机名hostnamectl set-hostname <HOSTNAME>配置网络IP、掩码、DNS服务器、网关等配置。以 centos 为例,网络配置文件位于 /etc/sysconfig/network-scripts/ifcfg-<网卡名> 文件中, 修改该文件内容即可配置对应网卡的网络。一个网卡对应多个 IP 地址,编辑 /etc/sysconfig/network-scripts/ifcfg-<网卡名>:&

2020-10-04 22:47:38 115

原创 C 语言字符串相关操作

C 语言实现了下字符串的基本操作,包括求长度、复制、拼接、判断是否相等、全大写、全小写几个函数,完整代码如下,其中还有些不合理之处,暂时没想到如何修改,对于理解指针和字符数组还是有一定能帮助的。// File name: main.c// Created by lbt on 2020-10-3.// Description: test functions of string operation#include <stdio.h>#include "str.h"int main(vo

2020-10-03 23:18:32 86

原创 Java 时间戳转换

最近在看 Bob 大叔的《代码整洁之道》,为了在实践中体会,写了一小段代码,功能是进行时间戳转换,第一版完成后根据书中的一些原则重构了下,然后再其中加入了日志记录模块,使用的是 java 自带的 java.util.logging, 主要是看下日志怎么记录,这个过程中也考虑并学习了日志应该记录什么信息,其中还有很多不完善的地方,完整代码如下。// Main.javapackage trans;import java.util.Scanner;import java.util.logging.Log

2020-10-02 10:53:52 352

原创 Rust 语言猜数字小游戏

下面的猜数字小游戏,展示了 Rust 语言的基本输入输出,错误处理的语法。use std::io;use std::cmp::Ordering;use rand::Rng;fn main() { let min = 1; let max = 100; println!("Gusess the number!"); println!("Secret number is in range {} to {}", min, max); println!("Input

2020-10-01 22:58:21 179

原创 Rust 编程环境搭建(IDEA 插件)

Rust 编程环境搭建IDEA 插件安装rustup 下载安装测试 Rust 编程环境CargoIDEA 插件安装IDEA 版本 2020.2.1。在 IDEA 中以此选择 File > Settings > Plugins,搜索 Rust,选择安装 Rust 插件,IDEA 会同时安装依赖插件 Toml,安装完成后启用插件,如下图所示。rustup 下载安装安装 Rust 的主要方式是通过 Rustup 这一工具,它既是一个 Rust 安装器又是一个版本管理工具。在 Rust 中

2020-10-01 19:31:11 11358

原创 我理解的架构师

前几天面试被问到职业规划,回答面试官我的职业规划其实不是很明确,希望在有一定工作经验后在进一步规划自己的职业发展方向。如果非要说一个现在的目标,那我想做架构师。以前的印象里,架构师就是程序员技术做到巅峰了。面试官追问你理解的架构师是什么样的,谈了谈自己的理解,当时的回答是,技术能力过人(包括广度和深度)、能根据业务需求裁剪开源框架。今天看了阿里技术在 B 站的一个视频,结合自己看过的一些技术类文章,对面试官问我的问题有了更深刻的理解。什么是架构师,以我现在的见解,很难回答的出来。不过还是写点自己的理解,以

2020-09-29 20:23:21 166

原创 Java 线程简单示例

Java 线程可以通过 extends Thread 类来实现,也可以 implements Runnable 接口来实现。示例下面的例子分别给出了通过 extends Thread 和 implements Runnable 来实现线程的例子。可以看出,无论哪种方法,都要实现 public static void run() 方法,调用时先 new Runner() 或 new ExtendsThread,然后将 new 出的对象传入Thread(), 构造一个 Thread 对象, 调用 Threa

2020-09-25 16:03:55 373

原创 数字相关算法实现

用 C 实现了几个常用的数字相关的算法:快速幂求整数次方。辗转相处求最大公约数。判断是否为素数。// Filename: algorithm.h// Created by lbt on 2020-9-21.// Description: head file of number algorithm#ifndef NUM_ALGORITHM_ALGORITHM_H#define NUM_ALGORITHM_ALGORITHM_H# include<stdbool.h>do

2020-09-22 09:48:30 216

原创 C 语言实现基本排序算法

以下代码实现了基本的排序算法,包括:二分插入排序、选择排序、冒泡排序和快速排序四种。// Filename: sort.h// Created by lbt on 2020-9-20.// Description: head file of sort algorithm#ifndef SORT_SORT_Hvoid InsertSort(int a[], int n);void BubbleSort(int a[], int n);void QuickSort(int a[], int l

2020-09-20 18:09:43 162

原创 C 语言单链表基本操作

复习下数据结构,使用 C 语言实现了带头节点的单链表。单链表基本操作有:节点初始化、链表初始化、插入节点、查找节点、删除节点和删除链表等。下面的程序中,list.h 为头文件, 其中包含了上述基本操作的声明即链表节点的定义,lsit.c 为单链表操作函数的实现,main.c 是对单链表操作函数的测试。// Filename: list.h// Created by lbt on 2020-9-17.// Description: head file for list demo#ifndef UNT

2020-09-20 13:41:55 297

原创 01背包问题

01 背包问题的 Python 解法回溯思想解 01背包 问题基础问题 —— 最大重量基础问题变体 1——最大价值回溯法的优化动态规划解背包问题回溯思想解 01背包 问题基础问题 —— 最大重量已知:有 n 个物品需要装进背包,items[i] ( 0<= i <= n) 为第 i 个物品的重量 ,背包最大容量为 w。求:背包最多可装入物品的总重量。例如, 有 3 个物品,重量分别为 [3, 5, 8], 背包最大容量为 9, 则最大装入物品的总重量为 8,装入方案有 (3, 5) 或

2020-09-09 11:26:38 762

原创 N 皇后问题

八皇后问题问题描述:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。Python 解法:代码如下,使用递归法实现,这个问题划分成 N 个阶段,依次将 N 个棋子放到第一行、第二行、第三行……第N行。在放置的过程中,我们不停地检查当前放法,是否满足要求。如果满足,则跳到下一行继续放置棋子;如果不满足,那就再换一种放法,继续尝试。# N 皇后类class Queens: def __init__(self, count_

2020-09-07 15:13:41 95

原创 选自牛客网华为机试题库:IP 地址分类

IP 地址分类题目描述解答题目描述解答def is_A(ip_nums, net_mask_nums): if ip_nums[0] < 1 or ip_nums[0] > 126: return False else: return Truedef is_B(ip_nums, net_mask_nums): if ip_nums[0] < 128 or ip_nums[0] > 191: retur

2020-09-04 23:03:29 354

原创 final 和 static 关键字

final 修饰变量使用 final 关键字修饰变量,则该变量变为常量,常量推荐使用全大写 + 下划线的方式进行命名,一旦赋值不可被改变;此外,final 修饰的变量必须在声明时初始化。final 修饰方法...

2020-09-03 14:18:31 147

原创 单例模式

单例模式)概要类图python 实现java 实现概要单例模式即一个类只有一个实例。类图SingleObject 内通过 private 关键字将 SingleObject 类型的属性及类的构造器私有化,又通过一个类方法 getInstance 返回私有的属性。由于构造器被私有化,这样就实现了不能通过 new 关键字实例化对象,而只能通过 getInstance 这个类方法来获取唯一的实例。python 实现java 实现/** * filename: SingletonPatternDe

2020-08-26 23:02:53 142

原创 UML 图

文章目录类图顺序图类图学习设计模式经常需要画类图来表达和理解,之前画类图没太注意,今天(2020年8月26日)重新看了下软件工程的课件,发现之前 MVC模式 的类图和 工厂模式的类图没有注意细节。类图中的接口和类,包含名称、属性和方法三个部分,如下图所示。每个属性和方法前有一个加号,代表 public,还可以是 减号和#号,分别代表 pirvate 和 protect。public 表示开放访问、private 表示只有当前类可以访问、protect 表示只有当前类和子类可以访问。顺序图...

2020-08-26 22:37:17 80

原创 工厂模式

工厂模式概念类图Python 实现Java 实现概念工厂模式类图Python 实现Java 实现

2020-08-26 11:17:29 119

原创 Java基础

文章目录Java 程序基本结构Java 中的数据类型基本数据类型常用数据结构面向对象类的定义Java 程序基本结构一个 *.java 文件中,包含内容如下:包定义: 可选;package packageName;类定义:一个 public 类(类名与 *.java 文件名相同)+ n 个其他类;public class ClassName{}public 类中,需要有 main()方法(函数);public static void main(){}导入类使用 import

2020-08-16 19:26:01 152

原创 Linux 2.6 内核源码中的循环双链表结构

文章目录内核源码分析双链表数据结构定义双链表头节点定义宏双链表头节点初始化函数用于循环双链表结构处理的函数1. __list_add() 函数2. list_add() 函数3. list_add_tail() 函数4. __list_del()5. list_del() 和 list_del_init()6. list_replace() 和 list_replace_init()7. list_move 和 list_move_tail内核源码分析双链表数据结构定义循环双链表定义位于 linu

2020-08-14 10:01:44 304

原创 minicom 串口调试工具使用

文章目录安装 minicom配置 & 启动安装 minicom某产品需要进行一些网络配置但没有显示器接口,通过一个 RJ45转RS232 转接线接到台式机 (centos 7 系统)的串口上,使用串口调试工具 minicom 进行配置。首先需要在台式机上安装 minicom, yum install minicom 即可。配置 & 启动使用 dmesg | grep tty 查看串口信息。使用 ll /dev/ttyS* 查看对应 ttyS 的读写权限,确保当前用户有

2020-08-13 18:00:38 1944

原创 使 Linux 宿主机上 kvm 虚拟机识别插入的 USB 设备

文章目录virsh attach-devicevirsh attach-device处于需要,希望将虚拟机内的系统通过 dd 命令写到一块外接的 ssd 硬盘上,ssd 硬盘为 sata 接口,通过 usb-sata 转接线接到物理机上,此时物理机识别了该设备。使用 virsh attach-device 命令可以将该设备暂时加入 kvm 虚拟机中,具体步骤如下:在宿主机上使用 lsusb 命令查看 该 usb 设备信息,结果如下图所示重点关注圈出的两列信息。创建一个 .xml 后缀的文件,假设

2020-08-13 16:59:53 2005

原创 树和二叉树(1)——概念

文章目录树的定义与基本操作树中的一些概念二叉树1. 满二叉树2. 完全二叉树树与森林哈夫曼树与哈夫曼编码堆排序算法树的定义与基本操作树描述的是一种层次结构,如下图所示,下图中节点 A 为树的根节点,一颗树有且仅有一个根节点。树的定义是递归的,当树节点数量大于一时,除根结点外的其他节点又可以构成根节点的子树。树中的一些概念节点:表示树中的元素项。节点的度数:节点拥有的子树个数。树的度数:树中最大的节点度数。叶子节点:度数为 0 的节点。树的层次:根节点为第一层,根节点的子节点为第二层,以此

2020-08-09 21:57:23 247 1

原创 剑指 offer 单链表题目总结

链表节点定义class ListNode: def __init__(self, x): self.val = x self.next = None相关题目1. 删除一个节点给定一个链表头节点,删除值为 key_val 的节点并返回删除后的链表头。beginhead == Nonedef delete_node(head: ListNode, key_val: int)->ListNode: ...

2020-08-05 11:47:28 139

原创 Python 知识扩展(二)

文章目录出错处理try-except-else-finally 结构出错处理try-except-else-finally 结构语句块执行顺序如下图所示, 这四种语句块可以一起使用,也可以使用 try 和其他语句组合,可行的组合有 try-except、try-finally、try-except-finally、try-except-else、try-except-else-finally。出错正常开始执行tryexceptelsefinally后续操作import jsonUNDEFINE

2020-08-05 09:31:09 91

原创 MVC 模式

文章目录一、概念二、实现参考教程:MVC 模式 | 菜鸟教程一、概念MVC 模式代表 Model-View-Controller 模式。**Model:**代表一个存取数据的对象,也可以带有逻辑,在数据变化时通知 Controller。**View:**负责数据的可视化。**Controller:**作用于 Model 和 Controller ,控制数据流向 Model,在数据发生变化时更新 View。二、实现使用 Python 实现 MVC 模式,类图如下。其中 Model 为 Stud

2020-08-01 23:40:49 237

原创 操作系统和计算机硬件组成

文章目录一、 C 程序的编译过程相关概念二、计算机系统硬件组成计算机内部结构拓补图存储设备的层次结构三、操作系统对硬件的管理几个重要抽象1. 文件2. 进程3. 虚拟内存一、 C 程序的编译过程相关概念文本文件:只包含 ASCII 字符二进制文件: 除文本文件外其他文件二、计算机系统硬件组成CPU :中央处理器主存: 存储数据和指令IO 设备:鼠标、键盘、显示器、磁盘控制器等总线:数据通道计算机内部结构拓补图系统内部结构如下图所示, hello.c 程序如何执行呢?一个简单的

2020-08-01 21:16:14 855 1

原创 Linux 内核模块 hello world 程序

Linux 内核模块的结构,一个简单的 hello 示例模块...

2020-08-01 21:13:37 813 1

原创 docker 容器基本原理——Namespace

文章目录Linux Namespace基础程序UTS NamespaceIPC NamespacePID NamespaceMount NamespaceNetwork NamespaceUser NamespaceLinux Namespace参考文章 1:DOCKER基础技术:LINUX NAMESPACE(上)参考文章 2:DOCKER基础技术:LINUX NAMESPACE(下)官方文档:《Namespaces in operation》Linux Namespace 是 Linux 提供

2020-08-01 16:07:07 265

原创 戴尔 R420 服务器安装 Centos7.6.1810 踩坑

使用 UrtlaISO (软碟通) 制作启动U盘,完成后需要将 iso 文件放入制作好的启动盘里,否则在后续安装过程中,安装源将提示无法通过此介质安装, 选择安装源时不要默认检测,选择你放入启动盘中的 iso 文件,如果网络可用,也可以通过网络获取安装源。UrtlaISO 制作启动盘会将盘符名成改为 “CENTOS 7 x86_64", 这样的盘符名在为服务器安装系统时不能被正确识别,需要在安装界面选中 Install Centos 7 后按 tab 键进行修改。安装界面如下图,按 tab 键后下..

2020-08-01 16:01:31 2245 1

原创 PEP8 部分规则

文章目录一些应该遵守的规则代码格式命名表达式和语句一些应该遵守的规则遵循一定的规则能使代码更加整洁、规范,提高可读性。PEP 8 是针对 Python 代码格式而编订的风格指南,下面列举出一些重要的 PEP 8 的规则。代码格式使用 space 表示缩进而不是 tab。和语法相关的每一层缩进都用 4 个空格表示。每行字符数不应超过 79。占据多行的表达式,除首行外其余各行都应在缩进级别上再加四个空格。文件中的函数与类使用两个空行隔开。同一个类中,各方法间用一个空行隔开。使用下标获取列表

2020-07-30 21:29:12 332

原创 Python 知识扩展(一)

文章目录一、进制转换函数1. bin(a: int) → str2. int(s: str, n: int) → int3. hex(n: int) → str4. oct(n: int) → str二、列表相关1. 切片用法(剑指 offer 06. 倒序输出链表)2. 列表生成式3. 列表相加三、filter(process:function, data) → filter object四、functools.lru_cache一、进制转换函数Python 中 二进制以 0b 开头, 十六进制以 0

2020-07-30 21:23:13 191

原创 DFS 和 BFS

文章目录剑指 offer 中二维矩阵搜索相关DFS(深度优先搜索)+ 剪枝(遇到这条路径不符合则立即返回)BFS(广度优先搜索)Python 解法对于 DFS 和 BFS 小结剑指 offer 中二维矩阵搜索相关题目:剑指offer 12. 二维矩阵中的路径 及 13. 求机器人可达点数说明: 本文中出现的代码与伪代码均为 Python 代码DFS(深度优先搜索)+ 剪枝(遇到这条路径不符合则立即返回)# 12 二维矩阵中的路径class Solution: def exist(self

2020-07-30 14:18:48 104

原创 光纤

一根光纤有两根线,左右是由区别的,接反了会不通。

2020-07-23 09:18:38 331

原创 Linux 下基础设施及系统网络优化

基础设施优化CPU 优化多级缓存充分利用 cache 是 CPU 调优的重要手段,由于是底层优化作用范围广。性能分析利器——Perf 参数学习提升 cache 命中率缓存命中: CPU 要取的数据再一级缓存内,直接读取,称为 cache 命中率使用 Perf 查看 Data[i][j] 和 Data[j][i] 性能对比。对于一个二维数组,是先遍历后排序还是先排序后遍历性能更...

2020-07-22 17:40:48 148

原创 容器和 k8s 网络大纲 —— 未完成

容器技术NamespacecgroupmirrorsoverlayFS容器安全问题网络知识ovsveth pairoverlay 网络和三层网络优缺点k8s 网络CNI (Container Network Interface)MAIN 插件、IPAM 插件、 meta 插件flannel 网络通过 vxlan 建立 overLay 网络、pod 间屏蔽底层差异、跨...

2020-07-20 23:49:11 81

原创 人生价值

人的一生究竟应该怎样度过?在我看来,我所追求的人生,不应该是一帆风顺的,人生应该在搏击风浪中不断成长,不断实现自我价值。在长期的艰苦奋斗中,才能体会人生的快乐与幸福。艰苦奋斗不是故意的为自己的人生制造困境,而是为了自己的人生理想,为了自己所坚持的价值理念,为了自己的目标不断努力。他人的经验告诉我们,成功路上从没有坦途。所以,要实现的目标越是宏大,就越要付出艰苦卓绝的努力。 ...

2020-07-14 22:04:01 66

原创 centos 7 单机部署 k8s

原文链接:使用kubeadm在Centos8上部署kubernetes1.18系统版本:使用 cat /etc/centos-release 查看添加阿里源:rm -rfv /etc/yum.repos.d/* #不想直接删除可先备份curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Cent...

2020-07-09 09:55:43 1127

空空如也

空空如也

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

TA关注的人

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