coding丁
码龄7年
关注
提问 私信
  • 博客:367,621
    社区:36
    367,657
    总访问量
  • 148
    原创
  • 2,156,644
    排名
  • 377
    粉丝
  • 1
    铁粉

个人简介:中山大学, math and computer 保持谦卑,保持自信,充满动力,充满野心

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2018-04-11
博客简介:

Ding 的博客

博客描述:
真正的大师永远怀着一颗学徒的心 Code never lie!
查看详细资料
个人成就
  • 获得707次点赞
  • 内容获得104次评论
  • 获得1,907次收藏
  • 代码片获得2,793次分享
创作历程
  • 87篇
    2020年
  • 63篇
    2019年
成就勋章
TA的专栏
  • 资源分享
    3篇
  • 操作系统实验ucore
    8篇
  • Golang
    8篇
  • MYSQL
    4篇
  • Git
    1篇
  • c++基础与进阶
    17篇
  • Linux内核
    10篇
  • 计算机网络
    12篇
  • leecode和剑指offer刷题
    26篇
  • 常见问题
    6篇
  • Linux
    7篇
  • 机器学习
    5篇
  • 数据库
    20篇
  • 数据结构与算法
    18篇
  • python数据分析处理
    2篇
  • paper reading
    1篇
  • 线性代数
    2篇
  • MIT python课程作业
    9篇
兴趣领域 设置
  • 大数据
    mysql
  • 后端
    架构
  • 服务器
    linux
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Golang通过反射对结构体进行赋值和其他操作

Golang通过反射对结构体进行赋值和其他操作通过反射可以方便快捷地访问Golang的结构体字段,并进行赋值或其他操作。当两个结构体内容相同但名字不同时,如何快捷地进行赋值?【或者内容有交集,对交集部分进行赋值】package mainimport ( "fmt" "reflect")type My_struct struct { Name string Age int House string}type Another_struct struct { House
原创
发布博客 2020.12.19 ·
4960 阅读 ·
2 点赞 ·
1 评论 ·
4 收藏

从零开始学GO ---- 接口

从零开始学GO ---- 接口接口是一个编程规范,一组方法签名的集合。Go的接口是非侵入式的设置,一个具体类型实现接口不需要在语法上显式地声明,只要具体类型的方法集是接口方法集的超集,就代表该类型实现了接口,编译器在编译时进行方法的校验。接口定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。在Go语言中接口(interface)是一种类型,一种抽象的类型。接口声明Go语言接口分为 接口字面变量类型和接口命名类型,用interface关键字声明接口字面变量类型的声明语法:i
原创
发布博客 2020.11.19 ·
381 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学GO ---- 错误处理

从零开始学GO ---- 错误处理Go 语言通过内置的错误接口提供了非常简单的错误处理机制--------error类型接口。在这个接口类型的声明中只包含了一个方法Error。Error方法不接受任何参数,但是会返回一个string类型的结果。它的作用是返回错误信息的字符串表示形式。type error interface { Error() string}使用error类型的方式通常是:在函数声明的结果列表的最后,声明一个该类型的结果,同时在调用这个函数之后,先判断它返回的最后一个结果
原创
发布博客 2020.11.13 ·
468 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学GO ---- 结构体和方法

从零开始学GO ---- 结构体和方法structGo语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。struct结构中的类型可以是任意类型,struct的存储空间是连续的,其字段按照声明时候的顺序存放(注意字段之间有对齐要求)struct有两种类型:struct类型字面量struct{ FeildName FeildType FeildName FeildType FeildNam
原创
发布博客 2020.11.12 ·
243 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

从零开始学GO ---- Go中函数的方方面面

从零开始学GO ---- Go中函数的方方面面在 Go 语言中,函数可是一等的(first-class)公民,函数类型也是一等的数据类型函数是一种类型,函数类型变量可以像其他类型变量一样使用,可以作为其他函数的参数或返回值,也可以直接调用执行函数支持多值返回支持闭包函数支持可变参数函数一个函数的定义包括如下几个部分:函数声明关键字func、函数名、参数列表、返回列表和函数体。【首字母的大小写决定了该函数在其他包的可见性:大写时其他包可见,小写时只有相同的包才可见】func funcNam
原创
发布博客 2020.11.09 ·
179 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学GO ---- if-else语句、switch语句、for语句、标签和跳转

从零开始学GO ---- (3) if-else语句、switch语句、for语句、标签和跳转程序执行本质上来说就是两种模式:顺序和跳转顺序就是按照程序指令在存储器上的存放顺序逐条执行跳转就是遇到跳转指令就跳转到某处继续线性执行顺序在Go里面体现在从main函数开始逐条向下执行,跳转体现在包括goto语句、函数调用以及分支循环等。if-else语句if-else语句的通常写法:if 表达式1 { 分支1} else if 表达式2 { 分支2} else{ 分支
原创
发布博客 2020.11.09 ·
362 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学GO ---- 指针、数组、切片、字典、结构体

从零开始学GO ---- (2) 指针、数组、切片、字典、结构体指针Go语言支持指针,指针的声明类型为* T,多级指针声明为** T,通过在变量名前加&获取变量的地址。不过区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。因此,实际上,对于Go中的指针,只需要记住两个符号:&(取地址)和*(根据地址取值)var a =11p:=&a //p是一个指针,*p和a的值都是11通过传入一个变量的地址,可以实现一个函数中改变该变量的目的:packa
原创
发布博客 2020.11.08 ·
386 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学GO ---- 变量、常量、基本数据类型

从零开始学GO ---- (1) 变量、常量、基本数据类型第一个GO程序:hello world代码如下:package main // 声明 main 包,表明当前是一个可执行程序import "fmt" // 导入内置 fmt 包func main() { // main函数,是程序执行的入口 fmt.Printf("Hello World!") // 在终端打印 Hello World!}然后执行: go build hello.go 进行编译,之后便可以看到有一个exe文件,
原创
发布博客 2020.11.07 ·
320 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

深入浅出MYSQL的事务隔离

深入浅出MYSQL的事务隔离Innodb 数据库引擎的数据库或表支持事务,MyISAM不支持事务,这也是MYSQL默认引擎换成Innodb的重要原因。MySQL 事务主要用于处理操作量大,复杂度高的数据,事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。ACID–事务四大特征事务是由一组SQL语句组成的逻辑处理单元,具有4个属性,通常简称为事务的ACID属性。原子性 Atomicity:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某
原创
发布博客 2020.09.26 ·
656 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

剖析MYSQL锁机制

剖析MYSQL锁机制数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,数据是一种供许多用户共享的资源。数据库的锁机制,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。从对数据操作的类型分类:读锁(共享锁):针对同一份数据,多个读操作可以同时进行,不会互相影响写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁根据加锁的范围
原创
发布博客 2020.09.23 ·
313 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

深入浅出MYSQL索引

深入浅出MYSQL索引索引(Index)是帮助MySQL高效获取数据的数据结构,索引的目的在于提高查询效率,就像字典和书籍的目录一样,有了目录,可以帮助你快速查找你需要的内容。可以理解为一个排好序的快速查找数据结构。也就是说,除了数据之外,数据库还维持着一些满足特定查找算法的数据结构,用来加速查询。优点:提高数据检索效率,降低数据库IO成本降低数据排序的成本,降低CPU的消耗缺点:索引本身就是一个数据结构,保存了主键和索引字段,并指向实体表的记录,所以也需要占用内存索引大大提高了查询速度
原创
发布博客 2020.09.20 ·
330 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SQL的查询和更新流程详解

SQL的查询和更新执行流程MySQL 的基本架构示意图:从中可以看出:MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。并且可以看出,不同的存储引擎共用一个 Server 层,也就是从
原创
发布博客 2020.09.19 ·
1445 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

Git入门指南(Git新人入门必看)

发布资源 2020.09.17 ·
pdf

一文实现玩转Git(新人必看)

一文实现玩转Git(新人必看)Git简介Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 【Linux之父】为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。集中式:版本库式集中放在中央服务器的。需要进行的时候,先从中央服务器中获得最新的版本,然后进行自己的工作,完成
原创
发布博客 2020.09.17 ·
291 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

一文搞定c++多线程同步机制

c++多线程同步机制同步与互斥现代操作系统都是多任务操作系统,通常同一时刻有大量可执行实体,则运行着的大量任务可能需要访问或使用同一资源,或者说这些任务之间具有依赖性。线程同步:线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。例如:两个线程A和B在运行过程中协同步调,按预定的先后次序运行,比如 A 任务的运行依赖于 B 任务产生的数据。线程互斥:线程互斥是指对于共享的操作系统资源,在各线程访问时具有排它性。
原创
发布博客 2020.09.08 ·
15740 阅读 ·
33 点赞 ·
3 评论 ·
134 收藏

一文搞定c++多线程

一文搞定c++多线程c++11引入了用于多线程操作的thread类,该库移植性更高,并且使得写多线程变得简洁了一些。多线程头文件支持为了支持多线程操作,c++11新标准引入了一些头文件来支持多线程编程:<thread>:内部声明了 std::thread 类,用于创建多线程<atomic>:内部声明std::atomic 和 std::atomic_flag两个类,可以利用这两个类实现原子类型的各种特性,并且声明了一些原子操作函数<mutex>:提供了多种互
原创
发布博客 2020.09.07 ·
3038 阅读 ·
12 点赞 ·
0 评论 ·
23 收藏

深入探索网络IO模型

深入探索网络IO模型同步、异步、阻塞、非阻塞同步和异步,是针对调用结果是如何返回给调用者来说的,即调用的结果是调用者主动去获取的(比如一直等待recvfrom或者设置超时等待select),则为同步,而调用结果是被调用者在完成之后通知调用者的,则为异步(比如windows的IOCP)同步通信是指:发送方和接收方通过一定机制,实现收发步调协调。如:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式异步通信是指:发送方的发送不管接收方的接收状态,如:发送方发出数据后,不等接收方发回响应,
原创
发布博客 2020.08.25 ·
274 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

一文搞定移动语义和完美转发

一文搞定移动语义和完美转发浅拷贝和深拷贝简单的区分: 浅拷贝:按字节拷贝,如果是指针变量则直接对指针地址进行拷贝 深拷贝:对内容进行拷贝,如果有指针变量则另外申请地址拷贝所指内容写c++类时,如果类中有指针成员的话,通常我们都会格外注意,要注意拷贝构造函数的编写,因为如果简单的浅拷贝可能导致free一块未定义区域,是非法的。如下面的程序:#include<iostream>using namespace std;class HasPtrMem{public: Ha
原创
发布博客 2020.08.21 ·
921 阅读 ·
3 点赞 ·
1 评论 ·
8 收藏

红帽社区内容需要订阅访问

红帽社区内容需要订阅访问有些Linux问题搜索后到了redhat社区,结果无法浏览全部内容,需要订阅才行。不订阅的解决办法:成为redhat开发者,redhat开发者有访问全部内容的权限。注册地址:redhat开发者社区进入后完成注册,该mail最好是没有在redhat社区注册过的,也就是先注册开发者,再去redhat社区。去redhat社区用该开发者账号登录,然后完善信息,就可以访问全部内容了!...
原创
发布博客 2020.08.05 ·
1956 阅读 ·
5 点赞 ·
0 评论 ·
0 收藏

Linux网络基础与性能优化

Linux网络基础与性能优化文章目录Linux网络基础与性能优化网络模型:网络性能常用的网络性能指标:常用的网络性能监控工具:netstatifconfigroutesarnmappingiperfSOCKET性能优化TCP选项SO_LINGERSO_REUSEADDRTCP_NODELAY/TCP_CHORKTCP_DEFER_ACCPTSO_KEEPALIVESO_SNDTIMEO & SO_RCVTIMEO缓存大小backlog性能优化思路网络模型:常见的有OSI网络模型、TCP/IP网
原创
发布博客 2020.08.03 ·
724 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏
加载更多