- 博客(202)
- 资源 (31)
- 收藏
- 关注
原创 Go语言之并发编程练习,GO协程初识,互斥锁,管道:channel的读写操作,生产者消费者
【代码】Go语言之并发编程练习,GO协程初识,互斥锁,管道:channel的读写操作,生产者消费者。
2023-07-19 20:08:40
1267
原创 Go语言之并发编程
有人把Go语言比作 21 世纪的C语言,第一是因为Go语言设计简单,第二则是因为 21 世纪最重要的就是并发程序设计,而 Go 从语言层面就支持并发。同时实现了自动垃圾回收机制。Go语言的并发机制运用起来非常简便,在启动并发的方式上直接添加了语言级的关键字就可以实现,和其他编程语言相比更加轻量。
2023-07-19 08:24:34
375
原创 Go语言之网络编程,使用编程语言实现多台计算机的通信。
(3)协议:定义通信规则,符合协议则可以通信,不符合不能通信。一般有TCP协议和UDP协议。(1)IP地址:网络中每一台计算机的唯一标识,通过IP地址找到指定的计算机。(2)端口:用于标识进程的逻辑地址,通过端口找到指定进程。
2023-07-19 08:18:23
365
原创 Go语言之包管理
Go语言是使用包来组织源代码的,包(package)是多个 Go 源码的集合,是一种高级的代码复用方案。Go 程序首先在 GOROOT/src 目录中寻找包目录,如果没有找到,则会去 GOPATH/src 目录中继续寻找。比如 fmt 包是位于 GOROOT/src 目录的 Go 语言标准库中的一部分,它将会从该目录中导入。Go语言的包借助了目录树的组织形式,一般包的名称就是其源文件所在目录的名称,虽然Go语言没有强制要求包名必须和其所在的目录名同名,但还是建议包名和所在目录同名,这样结构更清晰。
2023-07-19 08:15:59
535
原创 Go语言之接口(interface)
在java里,多态是同一个行为具有不同表现形式或形态的能力,即对象多种表现形式的体现,就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。父类引用指向子类对象。
2023-07-19 07:43:10
550
原创 Go语言之结构体
在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中。例如,在校学生有姓名、年龄、身高、成绩等属性,学了结构体后,我们就不需要再定义多个变量了,将它们都放到结构体中即可。在Go语言中,结构体承担着面向对象语言中类的作用。Go语言中,结构体本身仅用来定义属性。还可以通过接收器函数来定义方法,使用内嵌结构体来定义继承。这样使用结构体相关操作Go语言就可以实现OOP面向对象编程了。
2023-07-19 07:21:43
778
原创 Go语言之文件操作,读写文件,其他文件操作
基于此,美国人创建了utf8编码,而utf8编码是一种针对Unicode的可变长字符编码方式,根据具体不同的字符计算出需要的字节,对于ASCII码范围的字符,就用一个字节,而且符号与数字的对应也是一致的,所以说utf8是兼容ASCII码表的。于是,我中华民族自己重写一张对应表,直接生猛地将扩展的第八位对应拉丁文全部删掉,规定一个小于127的字符的意义与原来相同,即支持ASCII码表,但两个大于127的字符连在一起时,就表示一个汉字,这样就可以将几千个汉字对应一个个二进制数了。取这样一个元素的地址是非法的;
2023-07-19 07:01:49
850
原创 python爬虫,requests模块的基本使用,pip install requests,发起get/post请求
【代码】python爬虫,requests模块的基本使用,pip install requests,发起get/post请求。
2023-07-18 22:32:39
618
1
原创 python编程语言之函数基础
相信大家一定看出来了,这种方式会出现大量重复代码,对于阅读和维护整个程序都会变得十分麻烦。这时候,函数就出现了!简单说,函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化(让代码关联起来形成一个整体),避免大量重复的代码。如果在开发程序时,需要某一段代码多次使用,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小代码块,这就是函数(function)。
2023-07-18 17:59:16
370
原创 python编程语言之文件操作
1. open打开文件的写法,2. 常用的几种访问模式w wb wb+a3. 基于with语句操作文件,会自动关闭文件4. 文件对象的常用操作5. 编码字节长度的问题1个字节长度 = 8bit---> 0000 0000中文:utf-8: 1个字符长度 = 3个字节长度gbk : 1个字符疮毒 = 2个字节长度字母/数字/富豪1个字符长度 = 1个字节长度。
2023-07-18 17:55:28
854
原创 python编程语言之数据类型进阶操作
1. 浅拷贝与深拷贝为什么要进行浅拷贝和深拷贝,两者区别 2. 集合常用操作,加粗部分 3. 字典常用操作,加粗部分。
2023-07-18 17:48:39
371
原创 day03-python运算符的使用
1. 算术运算符 2. 浮点数运算过程中近似值的计算,是不精确的。也叫丢失精度。3. 赋值运算符 = += -= *= /= //= %= 4. 比较运算符 5. == 与 is 的区别 6. in 和 not in 7. is 和 not is 8. 逻辑运算符 and or not 9. 使用小括号提升表达式的优先执行顺序 10. 先计算等号 = 右边的表达式,再赋值给左边变量。
2023-07-18 17:24:16
286
原创 python编程语言之流程控制
以冒号作为开始,用来划分作用域,代表一个整体,是一个代码块。所谓的作用域,就是程序运行过程中变量的可调用范围。一个文件(模块)也可以称为一个代码块。
2023-07-18 16:57:13
295
原创 python编程语言之数据类型
1. 序列类型中的 str 所有操作下标取值切片的范围操作 in 字符串相加 2. 序列类型中的 list 所有操作下标取值修改值切片的范围操作 + [ : : - 1 ] in 列表相加 3. 序列类型中的 tuple 所有操作一个成员的元组的写法(1 ,) 下标取值切片的范围操作 in 解包和组包!!!4. set 的所有操作有成员的声明方式集合的成员唯一性(去重) 5. dict 的所有操作列表成员时字典的情况字典的key唯一性字典的key必须是不可变类型键值对的写法。
2023-07-18 16:34:33
334
原创 Go语言之函数补充defer语句,递归函数,章节练习
defer语句是go语言提供的一种用于注册延迟调用的机制,是go语言中一种很有用的特性。defer语句注册了一个函数调用,这个调用会延迟到defer语句所在的函数执行完毕后执行,所谓执行完毕是指该函数执行了return语句、函数体已执行完最后一条语句或函数所在协程发生了恐慌。编程经常会需要申请一些资源,比如数据库连接、打开文件句柄、申请锁、获取可用网络连接、申请内存空间等,这些资源都有一个共同点那就是在我们使用完之后都需要将其释放掉,否则会造成内存泄漏或死锁等其它问题。
2023-07-17 18:10:10
695
原创 Go语言之函数,返回值,作用域,传参,匿名函数,高阶函数,闭包函数
真正运行函数内的代码还需要对声明的函数进行调用,一个函数可以在任意位置多次调用。调用一次,即执行一次该函数内的代码。这样当然可以实现,但是是不是依然有大量重复代码,一会发现三个函数出了一个变量值不同以外其他都是相同的,所以为了能够在函数调用的时候动态传入一些值给函数,就有了参数的概念。这就涉及到了函数参数。函数每次调用可以传入不同的实际参数,传参的过程其实就是变量赋值的过程,将实际参数按位置分别赋值给形参。这样是不是就灵活很多了呢,所以基本上一个功能强大的函数都会有自己需要的参数,让整个业务实现更加灵活。
2023-07-17 17:00:25
738
原创 Go语言之重要数组类型map(映射)类型
消息摘要”(Message Digest)是一种能产生特殊输出格式的算法,这种加密算法的特点是无论用户输入什么长度的原始数据,经过计算后输出的密文都是固定长度的,这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取,这种提取就是“摘要”,被“摘要”的数据内容与原数据有密切联系,只要原数据稍有改变,输出的“摘要”便完全不同,因此基于这种原理的算法便能对数据完整性提供较为健全的保障。
2023-07-16 11:45:25
929
原创 Go语言之重要数组类型切片(slice)make,append函数
切片是一个动态数组,因为数组的长度是固定的,所以操作起来很不方便,比如一个names数组,我想增加一个学生姓名都没有办法,十分不灵活。所以在开发中数组并不常用,切片类型才是大量使用的。
2023-07-16 11:10:03
1115
原创 Go语言之重要数组类型数组
我们之前学习过变量,当存储一个学生名字时可以name=“jack”,但是如果班级有三十人,每个人的名字都想存储到内存中怎么办呢?总不能用三十个变量分别存储吧,这时数组就可以发挥作用了。数组其实是和字符串一样的序列类型,不同于字符串在内存中连续存储字符,数组用[]的语法将同一类型的多个值存储在一块连续内存中。
2023-07-16 09:31:02
456
原创 Go语言之流指针类型,new函数
计算机中所有的数据都必须放在内存中,不同类型的数据占用的字节数不一样,例如 int 占用 4 个字节。为了正确地访问这些数据,必须为每个字节都编上号码,就像门牌号、身份证号一样,每个字节的编号是唯一的,根据编号可以准确地找到某个字节。地址从 0 开始依次增加,对于 32 位环境,程序能够使用的内存为 4GB,最小的地址为 0,最大的地址为 0XFFFFFFFF。数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量。Go语言中使用对于指针存在两种操作: 取址和取值。
2023-07-15 22:55:57
623
原创 Go语言之流程控制语句,for循环
case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的。else那样遍历条件分支直到命中条件,而只需访问对应索引号的表项从而到达定位分支的目的。程序是由语句构成,而流程控制语句 是用来控制程序中每条语句执行顺序的语句。可以通过控制语句实现更丰富的逻辑以及更强大的功能。几乎所有编程语言都有流程控制语句,功能也都基本相似。3、到底使用哪一个选择语句,代码环境有关,如果是范围取值,则使用if else语句更为快捷;如果是确定取值,则使用switch是更优方案。
2023-07-12 14:33:18
310
原创 程序员面试题之int(1)和int(10) 区别,int后面的数字,不影响int本身支持的大小,int(1)、int(2)...int(10)没什么区别,一般int后面的数字,配合zerofill一起
int后面的数字不能表示字段的长度,int(num)一般加上zerofill,才有效果。zerofill的作用一般可以用在一些编号相关的数字中,比如学生的编号 001 002 … 999这种,如果mysql没有零填充的功能,但是你又要格式化输出等长的数字编号时,那么你只能自己处理了。
2022-08-22 14:30:41
241
原创 vue项目通过puppeteer做SEO,可以使用Puppeteer在Vue项目中进行SEO,通过服务端渲染获取渲染后的HTML内容,以便搜索引擎爬虫能够正确地索引您的网页内容。
然后很快就发现了一个问题,无论是用 nohup node app.js 还是 node app.js & 只要关闭了SSH窗口就会抓取失败了。通过百度谷歌一番找到了问题,需要用PM2来守护node进程。下载vue-seo-puppeteer项目:https://github.com/lovelin0523/vue-seo-puppeteer。来验证安装是否成功,如果运行不成功需要做一下链接。修改 app.js 中域名为自己项目的域名。在项目文件夹下运行项目。用pm2来启动项目,有以下多种方式。
2021-07-16 11:40:15
723
原创 程序员面试题之聊下Token,这种no-session的方式作为用户账号的验证,所以对cookie,session,token做一下对比(文中提到的token指jwt token)
session 和 token 本质上是没有区别的,都是对用户身份的认证机制,只是他们实现的校验机制不一样而已(一个保存在 server,通过在 redis 等中间件获取来校验,一个保存在 client,通过签名校验的方式来校验),多数场景上使用 session 会更合理,但如果在单点登录,一次性命令认证上使用 token 会更合适,最好在不同的业务场景中合理选型,才能达到事半功倍的效果。巨人的肩膀。
2021-07-12 22:10:49
511
3
原创 程序员敲代码之Laravel相关
我们最常用的是php-fpm模式,即nginx,apache通过php-fmp模式访问php文件,然后把解析后的内容返回给访问者。另外一种就是php CLI模式,CLI 是Command Line Interface,意思是 命令行接口下面谈谈怎么在php cli模式下运行php命令,因为有时使用CLI模式更加方便…
2021-03-04 16:29:38
457
3
原创 第10节:MapReduce案例分析,MapReduce、自定义分区、MapReduce小文件优化
第10节:MapReduce案例分析,MapReduce、自定义分区、MapReduce小文件优化MapReduce框架原理3.1 MapReduce工作流程3.2 InputFormat数据输入3.2.1 Job提交流程和切片源码详解3.2.2 FileInputFormat切片机制3.2.3 CombineTextInputFormat切片机制MapReduce框架原理3.1 MapReduce工作流程1)流程示意图2)流程详解上面的流程是整个mapreduce最全工作流程,但是shuff
2020-11-04 23:36:38
269
原创 第9节:MapReduce分布式编程模型,MapReduce的优缺点、MapReduce的核心思想、MapReduce编程规范、hadoop序列化、workcount编写和myjar集群运行
第9节:MapReduce分布式编程模型,MapReduce的优缺点、MapReduce的核心思想、MapReduce编程规范、hadoop序列化、workcount编写和myjar集群运行MapReduce入门1.1 MapReduce定义1.2 MapReduce优缺点1.2.1 优点1.2.2 缺点1.3 MapReduce核心思想1.4 MapReduce进程1.5 MapReduce编程规范二 Hadoop序列化2.1 为什么要序列化?2.2 什么是序列化?2.3 为什么不用Java的序列化?2.
2020-11-02 22:29:25
966
5
原创 程序员面试之nginx和apache的区别,nginx在开启时,会生成一个master进程,然后,master进程会fork多个worker子进程,最后每个用户的请求由worker的子线程处理。
Apache和Nginx最核心的区别在于 apache 是同步多进程模型,一个连接对应一个进程;而 nginx 是异步的,多个连接(万级别)可以对应一个进程。下面本篇文章就来给大家介绍一下Apache和Nginx的区别有那些,选择哪个好?希望对你们有所帮助。
2020-10-30 16:54:00
347
原创 程序员面试题之Redis缓存穿透,缓存击穿,缓存雪崩,解决这些问题的关键在于合理设置缓存的过期时间、使用锁机制来保护缓存的加载过程、 使用多级缓存架构和预加载机制来提高系统的容错性和性能。
Redis(Remote Dictionary Server ),即远程字典服务
2020-10-30 16:36:39
302
原创 程序员面试题之Static方法与普通方法有啥不同,静态方法可以不依赖于类的实例,可以直接通过类名调用,并可以访问和修改静态属性;普通方法需要通过类的实例对象调用,并可以访问和修改实例属性。
【代码】随便聊下Static方法性能上相较普通方法性能上有何迥异?
2020-10-30 16:11:26
506
1
原创 程序员面试之PHP中处理高并发抢购礼品超卖,使用队列将用户的购买请求放入队列中,然后按照顺序处理队列中的请求,避免并发操作导致超卖问题,可以使用乐观锁或悲观锁机制来保证同一时间只有一个用户可以购买礼品
要知道php是单线程的,无法应对高并发情况,需要借助redis中的List数据类型。
2020-10-30 15:44:37
686
原创 程序员敲代码之sphinx3中文分词,需要注意的是,Sphinx3是一个比较底层的工具包,对于分词结果的准确性和效果可能会受到多种因素的影响。可能需要根据具体情况选择更适合的中文分词工具或者算法。
【代码】程序员敲代码之sphinx3中文分词,需要注意的是,Sphinx3是一个比较底层的工具包,对于分词结果的准确性和效果可能会受到多种因素的影响。可能需要根据具体情况选择更适合的中文分词工具或者算法。
2020-10-30 15:43:06
353
原创 程序员面试题之mysql事务隔离级别,1. 读未提交(Read Uncommitted)2. 读已提交(Read Committed)3. 可重复读(Repeatable Read)4. 串行化
【原子性(Atomicity)】:当前事务的操作要么同时成功,要么同时失败。原子性由undo log日志来保证。(数据回滚的时候根据undo log来实现的)【持久性(Durability)】:一旦提交了事务,他对数据库的改变就应该是永久性的。持久性由redo log日志来保证。【一致性(Consistency)】:使用事务的最终目的,由业务代码正确逻辑保证。【隔离性(Isolation)】:在事务并发执行时,他们的内部的操作不能互相干扰。
2020-10-30 15:38:56
376
原创 第8节:HDFS目录结构与MapReduce;datanode工作机制,hadoop的归档,快照,回收站,扩展集群
第8节:HDFS目录结构与MapReduce;datanode工作机制,hadoop的归档,快照,回收站,扩展集群6、DataNode工作机制6.1、NameNode & DataNode工作机制6、DataNode工作机制6.1、NameNode & DataNode工作机制1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。2)DataNode启动后向namenode注册,通过后,
2020-10-29 00:42:37
241
原创 第7节:工作机制;hdfs写文件剖析,机架感知、网络拓扑,hdfs读文件剖析,一致性,hdfs安全模式、手动恢复nn元数据
第五节:工作机制HDFS写数据流程剖析文件写入HDFS写数据流程剖析文件写入(1)客户端向namenode请求上传文件namenode检查目标文件是否已存在,父目录是否存在。(2)namenode返回是否可以上传。(3)客户端请求第一个block上传到哪几个datanode服务器上。(4)namenode返回3个datanode节点,分别为dn1、dn2、dn3。(5)客户端请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。(6)dn1、dn
2020-10-24 11:09:38
389
原创 第6节:HDFS上传与下载的原理、HdfsAPI、IO操作HDFS
HDFS上传与下载的原理、HdfsAPI、IO操作HDFS通过API操作HDFSHDFS获取文件系统通过API操作HDFSHDFS获取文件系统 /** * 打印本地hadoop地址值 * IO的方式写代码 */ @Test public void intiHDFS() throws IOException { //F2 可以快速的定位错误 // alt + enter自动找错误 //1.创建配信信息对象
2020-10-23 15:22:44
277
原创 第5节:HDFS基础与操作、idea和maven配置
HDFS基础与操作概念组成HDFS 文件块大小概念HDFS,它是一个文件系统,全称:Hadoop Distributed File System,用于存储文件通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。组成1)HDFS集群包括,NameNode和DataNode以及Secondary Namenode。2)NameNode负责管理整个文件系统的元数据,以及每一个路径(文件)所对应的数据块信息。3)DataNode 负责管理用户的文件数据块
2020-10-23 11:14:58
277
My97 DatePicker
2018-12-21
xftp_5.0.1028
2018-12-21
xshell_5.0.0.37
2018-12-21
AngularJS中文手册
2018-12-21
TortoiseSVN-1.10.0
2018-12-20
Echarts.rar
2015-06-30
SQLyog-11.3.3-64位
2018-12-28
vue-admin-master项目
2018-12-25
WEB打印控件Lodop(V6.x)
2018-12-25
Thinkphp3.2.1源码
2018-12-24
HessianPHP-1.0源码
2018-12-24
redis-3.0.7.tar
2018-12-24
sphinx-2.2.10-release.tar
2018-12-24
php-5.6.32.tar
2018-12-24
php 识别二维码(zbarcode)
2018-12-24
PLSQL Developer
2018-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人