自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宇宙之一粟的技术漂泊之旅

热爱文学、热爱技术,文理双修但都不精通的宇宙间的一粟

  • 博客(198)
  • 资源 (7)
  • 收藏
  • 关注

原创 排序算法太多?常用排序都在这了,一篇文章总结和实现所有面试会考的排序算法(基于Python实现)

排序算法一般排序算法最常考的:快速排序和归并排序。这两个算法体现了分治算法的核心观点,而且还有很多出题的可能。更多细节请参考刘宇波老师的:不能白板编程红黑树就是基础差?别扯了。1. 常见的排序算法排序算法很多,除了能写出常见排序算法的代码,还需要了解各种排序的时空复杂度、稳定性、使用场景、区别等。1.1 选择排序1.1.1 思想对于给定的一组序列,第一轮比较选择最小(或最大)的值,然后将该值与索引第一个进行交换;接着对不包括第一个确定的值进行第二次比较,选择第二个记录与索引第二个位置进行交

2020-09-10 18:15:46 198

原创 学习Python一年,这次终于弄懂了浅拷贝和深拷贝

官方文档:copy主题源代码: Lib/copy.py话说,网上已经有很多关于Python浅拷贝和深拷贝的文章了,你还写?当别人一提起Python中的复制操作,你会不会立马站起来说:“我会”,于是就有了如下操作:import copy x = copy.copy(y) # 浅拷贝我会了 x = copy.deepcopy(y) # 深拷贝我来了从引用vs.拷贝...

2020-04-06 14:25:52 356 1

原创 为什么校招面试中“线程与进程的区别”老是被问到?我该如何回答?

进程与线程?(Process vs. Thread?)面试官(正襟危坐中):给我说说“线程”与“进程”吧。我(总是不太聪明的样子):“限乘?”、“进什么城(程)?”面试官:“操作系统中的进程与线程,你回去了解一下。门在左边,记得关门。”当翻译过来后,这两个概念都带了个“程”字,但进程的英文:Process,而线程的英文:Thread,好像并没有什么联系。大多数初学者一开始都会被这两个概...

2020-04-05 17:23:17 3134

原创 一文让你彻底搞懂Python中__str__和__repr__?

__str__和__repr__的异同?字符串的表示形式我们都知道,Python的内置函数repr()能够把对象用字符串的形式表达出来,方便我们辨认。这就是“字符串表示形式”。repr()就是通过__repr__这个特殊方法来得到一个对象的字符串表示形式的。如果没有实现__repr__,当我们在控制台里打印一个向量的实例时,得到的字符串可能会是 <Vector object at 0x1...

2020-04-04 22:32:22 411

原创 用最复杂的方式学会数组(Python实现动态数组)

用最复杂的方式学会数组,全网最复杂最全的动态数组Python实现

2019-11-01 23:08:44 454

原创 用最容易的方式学会单链表(Python实现)

在本博客中,我们介绍单链表这种数据结构,并用最简单的方式教你快速学会最全的单链表操作(Python实现)。

2019-10-30 19:12:49 246

原创 Redis 的快速介绍及其基本数据类型和操作

本文简要介绍了 Redis 的由来及特点、 Redis 的主要用途及其所用的公司,然后针对 Redis 的基本数据结构进行展示和常见命令,希望能对读者有帮助,以此查漏补缺。关于 Redis 更多的操作命令,可以查看官方文档。官方文档Redis 数据类型。

2022-10-24 23:24:14 278

原创 一起学习设计模式:责任链模式

这样所有处理者都有机会来处理请求。上述代码中,抽象处理者类定义了对下家的引用对象,以便将请求转发给下家,该对象的访问符可设为 protected,在其子类中可以使用。避免将请求发送者与接收者耦合在一起,让多个对象都有机会接收请求,连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。发起请求和具体处理请求的过程进行解耦:责任链上的处理者负责处理请求,客户只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递。收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。

2022-10-24 23:21:44 77

原创 一起学习设计模式:备忘录模式——软件的“后悔药”

备忘录模式(Memento Pattern):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。其别名也叫 Token。模式结构:Originator(原生器):它是一个普通类,可以创建一个备忘录,并存储其当前内部状态,也可以使用备忘录来恢复其内部状态,一般需要保存内部状态的类设计为原发器。类可以生成自身状态的快照,也可以在需要时通过快照恢复自身状态。Memento(备忘录):存储原发器的内部状态,根据原发器来决定保存哪些内部状态。

2022-10-24 23:19:42 184

原创 一起学习 Go 语言设计模式之建造者模式

你去买车,你不会只买一个轮胎、一个发动机、一个方向盘,你买的是一辆包括轮胎、方向盘、发动机、底盘、电气系统和车身等多个部件组成的完整骑车。在设计模式中,建造者模式就是解决如何将这些部件组装成一辆完整的汽车并返回给用户的设计模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。

2022-10-24 23:17:01 240

原创 一起学习 Go 语言设计模式之单例模式

与 Java 或 C++ 这种面向对象语言中不同,Go 实现单例模式没有像静态成员的东西(通过 static 修饰),但是可以通过包的范围来提供一个类似的功能。单例模式很容易记住。就像名称一样,它只能提供对象的单一实例,保证一个类只有一个实例,并提供一个全局访问该实例的方法。我们把对象的创建委托给一个未知的包,而这个对象在创建或检索对象时可能失败。我们可以写一个计数器,它的功能是用于保存它在程序执行期间被调用的次数。首先,我们创建一个结构体,其中包含我们想要保证的对象 在程序执行过程中成为单例的对象。

2022-10-24 23:16:01 194

原创 一起学习 Go 语言设计模式之设计模式概述

本文总结了设计模式的概念与分类,并分别展示给读者 3 大类设计模式中包含的不同设计模式,今后将学习每个设计模式,以及他们之间的关系,敬请期待!《设计模式的艺术》,作者:刘伟希望本文能对你有所帮助,如果喜欢本文,可以点个关注.下一篇文章见!宇宙古今无有穷期,一生不过须臾,当思奋争。

2022-10-24 23:12:04 140

原创 鸿蒙开发工具 DevEco Studio 3.0 体验与项目结构介绍

HuaWei DevEco Studio 是基于 IntelliJ IDEA Community 开源版本打造,面向全场景多设备,提供一站式的应用/服务集成开发环境(IDE),支持分布式多端开发、分布式多端调测、多端模拟仿真,提供全方位的质量与安全保障。DevEco Studio 3.0支持 HarmonyOS 3.0 的应用及服务开发,提供了代码智能编辑、低代码开发、界面调试双向预览、全新构建工具、模拟器等功能,同时支持 OpenHarmony 应用及服务开发。

2022-10-24 23:09:03 2167

原创 一文了解 Python 迭代器介绍及其作用

迭代对象在 Python 中是新颖特别的概念,但实际上就是序列概念的通用化:如果对象时实际保存的序列,或者可以在迭代工具中(如 for 循环)一次产生一个结果的对象,就看做可迭代的。可以说,Python 中迭代器无处不在。

2022-09-27 13:24:20 430

原创 使用 Gorilla Mux 和 CockroachDB 编写可维护 RESTful API

本文利用 Go 语言中非常实用的 Gorilla Mux 和 GORM 库、结合分布式 CockroachDB 数据库编写了一个简易的图书的 Restful API,最后通过 Apifox 测试工具验证了服务器 API 的正确。

2022-09-27 13:21:44 327

原创 盘点 GitHub 那些标星超过 20 K 的 Golang 优质开源项目

Golang 作为一门还在快速成长的编程语言,想要与时俱进,还得多看看这几个开源项目。听说你想学习 Go 语言,那我就来总结一下:那些目前我所了解的优质 Golang 开源项目。Go 的开源优秀项目太多了。感兴趣的读者可以在 Github 的简单的一个搜索语法进行快速搜索,例如通过在搜索框中输入:就能在全站中搜索标星超过 20 K 的项目,得获取到如下界面:可以看到目前的搜索结果大概有 51 个仓库,本文自然没有全部列出。比如还有一些名声大噪的项目如Kubernetes、Docker、Hugo、、

2022-09-27 10:18:46 774

原创 手把手带你入门 API 开发

在本文中,您将学习如何使用👉 Flask、👉SQLite 3(轻易数据库)和 JSON 创建用于数据通信的 REST API。本文使用 4 个最常用的 HTTP 动词:GET、POST、PUT 和 DELETE,对应数据库的 CRUD 操作。

2022-07-01 14:14:32 1026

原创 代码之外:写作是倒逼成长的最佳方式

作为一名初入职场的程序员,很长一段时间都是在重复这样一个过程:快别这样了,写代码真的只是唯一能做的吗?需求背后的逻辑你懂了吗?为啥要这样做呢,还有其他方法可以做吗?这一条需求背后是关于哪些业务的?可以分别向上和向下追问吗?真实的是,成为程序员与写代码其实没有必然的联系。正所谓技多不压身,除了基本的编程开发能力,做程序员还需要一些其他技能。技术学习能力业务分析能力问题排查能力项目管理能力协调沟通能力何谓技术学习能力?如果你的技术学习能力好,不论新技术如何层出不穷,你都能第一时间掌握,做到对症下药。何谓业

2022-06-22 12:02:17 54

原创 MySQL 入门:Case 语句很好用

引言MySQL CASE 是一个 MySQL 语句查询关键字,它定义了处理循环概念以执行条件集并使用 IF ELSE 返回匹配案例的方式。 MySQL 中的 CASE 是一种控制语句,它验证条件案例集,并在第一个案例满足 else 值时显示值并退出循环。如果没有找到 TRUE 且语句没有 ELSE 部分或值,则 CASE 返回 NULL。基本上,CASE 语句类似于 IF THEN ELSE 逻辑循环语句。在 MySQL 服务器上运行时,它会读取条件表达式,当表达式大小写匹配时,nit 会显示结果。

2022-05-11 23:26:21 9430

原创 Go 语言入门很简单:Go 语言中操作 MySQL 数据库

引言在上一篇文章中,我们成功连接了 MySQL 数据库,并成功打印出 MySQL 的版本号,本篇文章就来介绍如何使用 Go 语言操作数据库。创建数据库表我们在 DB_TEST 数据库中新建一个 user 数据库,包含主键 id 和名字 name,可以使用如下语句:_, err2 := db.Exec("CREATE TABLE user(id INT NOT NULL , name VARCHAR(20), PRIMARY KEY(ID));")我们可以先在 MySQL 终端中查看

2022-05-10 23:45:13 433

原创 Go 语言入门很简单:如何在 Go 中使用日志包

引言在我们的日常编程中,日志很重要。只要是我们写代码,就有可能出现 Bug。日志文件就是一种快速找到这些 bug,更好地了解程序工作状态的方法。让我们来看一下日志文件的定义:日志文件是记录操作系统或其他软件运行中发生的事件或通信软件的不同用户之间的消息的文件。记录是保存日志的行为。日志是开发人员的眼睛和耳朵,可以用来跟踪、定位错误、调试和分析代码,并监控应用程序的性能。在最简单的情况下,消息被写入单个日志文件。Go 语言标准库之log 包正因为日志很重要,所以 Go 语言标准库提..

2022-05-07 11:32:00 436

原创 为什么选择学习 Sanic 框架

Web Server 和框架Sanic 称自己既是一个网络框架,也是一个网络服务器。这是什么意思?更重要的是,为什么这很重要?那么什么是 Web Server?Web ServerWeb服务器是一种软件,旨在通过 HTTP 协议传递文档和数据。它的功能是接受传入的 HTTP 请求,对消息进行解码以了解请求试图完成的任务,并提供适当的响应。Web 服务器的语言是 HTTP 协议。我们可以设置一个简单的Sanic服务器,然后从 curl 发出请求,并查看消息。 创建

2022-05-02 11:09:32 198

原创 使用 Sanic 框架进行 Python Web 开发

asyncio 模块作为一款异步 Python 3.7+ web 框架,Sanic 最基本的构建块是 Python 标准库中的 asyncio 模块。2014 年初发布的 Python 3.4 是在新添加的 asyncio 模块中将协程概念引入标准库的第一步。 使用标准的 Python 生成器,可以在发生其他事情时暂停函数的执行,然后可以将数据注入该函数以使其恢复执行。 如果那时有一个对象“循环”通过需要工作的任务列表,我们可以同时进入和退出多个函数的执行。 这可以在单个线程中实现“并发”,并且

2022-04-30 23:55:32 360

原创 一起看看 Go 1.18 新特性之多模块工作区模式

引言2022年,Go 团队发布 Go 1.18 ,作为一个大的版本变动,Go 1.18 理所当然涵盖了许多的新功能、Go 团队也提到是 Go 语言发布以来做的最大的一次变动,并且性能改进很大。其中一个功能,就是提供了一个多模块工作区的模式。官方博客说明如下:该段文字的翻译:Go 模块几乎已被普遍采用,Go 用户在我们的年度调查报告中对 Go 模块给予非常高的满意度得分。在我们的 2021 年用户调查中,用户跨多个模块工作识别出不同的模块最常见的挑战。在 Go 1.18 中,我们

2022-04-29 17:55:35 196

原创 一文了解 Python 中的生成器

前言生成器很容易实现,但却不容易理解。生成器也可用于创建迭代器,但生成器可以用于一次返回一个可迭代的集合中一个元素。现在来看一个例子:def yrange(n): i = 0 while i < n: yield i i += 1每次执行 yield 语句时,函数都会生成一个新值。“生成器”这个词被混淆地用来表示生成的函数和它生成的内容。当调用生成器函数时,它甚至没有开始执行该函数就返回一个生成器对象。 当第一次调用 next() 方法时,函

2022-04-01 12:06:58 664

原创 #私藏项目实操分享# Go 语言快速入门指南:Go 模板介绍

前言本来想介绍一下 Go 模板,然后就发现了一篇很好的文章,故此机器翻译过来,让大家一起学习。在上一篇文章 ​​《Go 语言 Web 开发很简单:使用模板将视图与逻辑分离》​​中,我们看到了模板的些许影子。 那么,什么是模板呢?简而言之,模块即可用于创建动态内容的文本文件。例如,您可能有一个用于网站导航栏的模板,部分动态内...

2022-02-23 23:44:27 136

原创 #私藏项目实操分享# Python 中的数组哪去了?

或许我们学Python,只听过列表(list)、元组(tuple)、集合(set)、字典(dict)那个流行在Java、C++和C中常见的那个“狠人”——数组去哪了呢?本文将带你学习一下Python 的数组(array)数组与列表有哪些不同数组的操作什么时候和如何使用数组?在编程中,数组是相同类型的元素的集合。存储在连续内...

2022-02-22 23:32:25 103

原创 #私藏项目实操分享# 鸿蒙学习笔记:Ability 组件

关于 Ability与 Android Activity相比,Activity 是 Android 应用的四大组件之一, 它提供一个窗口用于应用在其中绘制界面,用户可以在界面上完成交互动作。HarmonyOS Ability 是应用所具备能力的抽象。Ability 的中文含义即能力,代表了 HarmonyOS 工程中最重要...

2022-02-21 23:09:02 260

原创 #私藏项目实操分享#一文带你了解 Java 的内存模型与内存区域

一、内存简介内存和存储器这两个术语均指计算机的内部存储空间。存储器包括:内部存储器(内存)、外部存储器(外存)、寄存器。内存是应用程序在处理过程中放置其使用的数据的地方。内存包括:只读存储器(ROM,Read Only memory)(只读,断电后数据保留)、随机存取存储器(RAM,Random Access Memory...

2022-02-20 21:07:15 108

原创 #私藏项目实操分享#鸿蒙学习笔记之使用 XML 方式创建布局

前言平常使用的 APP 应用会在屏幕上显示一个用户界面,该界面用来显示所有可被用户查看和交互的内容。而应用中所有的用户界面元素都是由 Component 和 ComponentContainer 对象构成。Component 是绘制在屏幕上的一个对象,用户能与之交互。ComponentContainer 是一个用于容纳其他...

2022-02-19 22:53:08 335

原创 #私藏项目实操分享#一文带你使用 Python 实现 Socket 编程

整个计算机网络都是由协议组成。其实可以把协议类比成我们人类用的语言,我们和老外交流,双方得说一样的语言,就好像遵从同样的“协议”。网络上的两台机器之间要交流,也是如此。七层网络模型——OSI标准OSI 七层模型是一个标准,规定了机器(主要是电脑)之间如何通信。因此假如你想要让你的洗碗机和洗衣机通信的话,就需要遵从 OSI ...

2022-02-18 22:15:08 113

原创 #私藏项目实操分享#深入理解Python内存管理与垃圾回收

面试官:听说你学Python?那你给我讲讲Python如何进行内存管理?我:???内存管理不太清楚额。。。面试官:那你知道Python垃圾回收吗?我:(尴尬一下后,还好我看到过相关博客)Python垃圾回收引用计数为主、标记清除和分代回收为主。面试官:那你仔细讲讲这三种垃圾回收技术?我:卒。。。先看看内存管理内存的管理简单...

2022-02-16 22:54:52 136

原创 #私藏项目实操分享# 一个常见鸿蒙应用的基础知识

什么是鸿蒙应用用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”,简称APP。在 HarmonyOS 上运行的应用,有两种形态:传统方式的需要安装的应用。提供特定功能,免安装的应用(即原子化服务)。鸿蒙应用的形式鸿蒙应用软件包以 APP Pack(Application Package)形式发...

2022-02-15 20:23:24 208

原创 #私藏项目实操分享#Go 语言Web开发很简单:使用模板将视图与逻辑分离

在上一篇文章 《Go 语言入门很简单:Go 实现简易Web应用》​ 中,我们动手写了一个简易的 Web 版 HelloWorld 程序。我们的 Web 服务器由两部分构成:为在用户浏览器中运行的 HTML 和 JavaScript 前端代码提供服务接受 Web socket 连接以允许客户端进行通信使用 HTML 文件来改...

2022-02-14 23:11:22 171

原创 #yyds干货盘点#什么是测试驱动开发

定义测试驱动开发,英文名 Test-driven development,讲的是一种编程风格。主要有三种流程紧密的过程交织在一起:编码测试(以编写单元测试的形式)设计(以重构的形式)它可以用以下一套规则来简洁的描述:写一个单元测试,来描述程序的一个方面运行测试,如果程序缺少了功能会导致失败编写“足够的”的代码,尽可能简单,...

2022-02-13 23:19:10 84

原创 #私藏项目实操分享#Go 语言入门很简单:String

前言Go 也像 C 语言家族语言一样,使用双引号来声明字符串。Go 字符串可以使用 双引号(" ")或者 反引号(\ \)来创建。双引号用来创建可解析的字符串,但不能用来引用多行,这也是大多数字符串的定义方式。反引号用来创建原生的字符串,这些字符串可以由多行组成。多用于多行消息,HTML 以及正则表达式。比如我们这样声明一...

2022-02-12 23:52:18 314

原创 #私藏项目实操分享#一个后端开发到鸿蒙开发的简单尝试

笔者说:因为本人也从未接触 Android 开发,所以本文也是从小白入门的角度学习 HarmonyOS 开发,文中大量的内容和观点其实都可以从官方文档查阅到。写这篇文章大概也是从中精简内容,记录学习 HarmonyOS 的过程。鸿蒙,万物之始鸿蒙者,万物之始也。鸿蒙操作系统(HarmonyOS)最初在 2019 年的华为开...

2022-02-11 18:37:30 5799

原创 #yyds干货盘点# 为什么 Cpython 是 C 写的,而不是 Python

CPython 中的 C 是指 C 语言,意味着这个 Python 默认发行版是用 C 语言编写的。其实,CPython 的编译器是用纯 C 语言编写的,或者是 C 和 Python 的组合。那我们不经要问:为什么 Cpython 不是用其他语言我们首先要知道,高级语言都要编译为机器语言。所以区别就在于编译器的工作方式中,...

2022-02-10 23:28:23 959

原创 #yyds干货盘点# Go 语言入门很简单:Go 实现简易Web应用

前言截止到目前为止,几乎我们的 Go 入门文章都是在终端运行的。在终端运行的代码或者运用运用程序只适合自己在环境搭好的环境下使用。也就是说,如果用户没有安装 Go 语言环境,是根本没法运行我们所写的 Go 代码,普通用户可以说已经被互联网和万维网宠坏了,他们不想为了使用你的应用而学习使用终端。更有甚者,不想在手机上安装任何...

2022-02-09 23:54:07 527

原创 #yyds干货盘点# 浅析 Python 中的 Collections 模块

Collections 模块本文将简单介绍一个 Python 模块 Collections 。这个模块实现了一些很好用的数据结构,可以帮助我们解决不同的实际问题。import collections可以通过​​import collections​​​导入该模块的方法,现在我们进入 ipython3 然后使用​​dir(...

2022-02-08 23:43:49 31

Python面试突击.md

Python面试突击知识点:1.基础知识 2.高阶知识 3.常见算法与数据结构 4. 数据库 ,还在更新

2020-04-28

Learn Go by Example(附源码).zip

本资源包含Go语言中的各种简单的示例代码,介绍Go语言的所有基础语法和高级编程,帮助你快速入门Go语言

2019-11-15

Win10锁屏壁纸提取Python脚本

用脚本自动提取Win10精美锁屏壁纸,无需人工操作也无需修改任何配置。一次运行成功,随时可以提取精美壁纸

2019-11-09

SPoS中文白皮书

超级节点权益证明共识(Supernode PoS),该共识机制的特点包括固定的区块铸币间隔、冷铸币、以及权益流动性。本白皮书也阐述了SPoS与PoS机制之间的沿袭与差异。

2018-09-25

区块链的相关概念

这是全球首部中文区块链词典。 「维京资本」与「甲子光年」系统梳理了区块链领域的多个概念, 涵盖基本定义、区块链基础技术、数字货币和法律监管等多个方面。词典由维京研究院和甲子光年旗下研究院甲子智库历时一个月合作完成。

2018-08-23

大神整理的区块链学习不可多得的入门资料

把区块链学习入门做一个整理,逐步添加完善,有原创内容,也有网络转载整理分享。暂时取名叫入门到崩溃,欢迎志同 道合的朋友一块来补充完善。 大致整理汇总区块链入门学习相关资料,虽然题目是“入门到崩溃”,希望还是能学到想要学的内容。

2018-08-17

空空如也

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

TA关注的人

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