自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 nginx反向代理的反向体现在何处

在网络术语中,“反向代理”(Reverse Proxy)这个名词的“反向”(Reverse)部分可能会引起一些困惑。要理解这个术语,首先需要明白代理服务器(Proxy Server)的概念,然后对比“正向代理”(Forward Proxy)和“反向代理”的不同。而在反向代理中,代理服务面向服务器,帮助互联网上的客户端访问内部网络中的服务器。简单来说,正向代理隐藏了真实的客户端,而反向代理隐藏了真实的服务器。代理对象:在正向代理设置中,代理的对象是客户端。代理对象:在反向代理设置中,代理的对象是服务器。

2024-07-05 16:24:08 12

转载 webservice/websocket区别

任何平台都有它的数据表示方法和类型系统。WebService也一样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。

2024-07-05 16:22:17 22

转载 WebService/WebSocket介绍

WebService也一样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。因此,工程师们一直在思考,有没有更好的方法。

2024-07-05 10:21:32 23

转载 区块链,浅浅记笔记

以上就是对区块链基础知识的一些梳理,主要从概念和原理层面进行了一些学习,后续还会更新对比特币、以太坊、等典型应用的分析与思考,并对 IPFS、跨链、NFT 等热门技术进行一些探究,敬请期待!

2024-07-04 00:00:43 10

原创 HeadFirst 状态模式

这里我觉得应该是,用一个interface/父类把子类的类名框定一下(比如都是State接口实现啥的),然后父类里面维护一个List这种数据结构之类的,这样方便之后添加,不用再在State里面改代码。然后,这个功能主体持有所有的状态类,并在具体执行的时候,将主体作为参数传入状态类中,进行信息读取操作执行和状态转换。具体做法是,将每个状态都抽离出来设计为一个单独的类,类中包含这个状态下所有的可能进行的操作及对应结果。感觉List不太好,可能map好点,不然也不知道当前有哪些状态结构,不够直观。

2024-07-03 09:46:46 204

原创 HeadFirst 设计模式 迭代器与组合模式

这个我大致能get到它的意思。就是将一些不同的类,这些类可能有强相关性,可能没有那么多,在这里不重要,我们希望在外面,对其有一个归一化的接口进行处理的时候,就可以采用组合模式。这里提到了准确的定义就类似于我上面括号中提到的,希望对整体和部分有一个统一的外部调用表达,从而创建出来的模式,但是我感觉即使是在这一章讲的例子里面,也是刻意没用到treeNode这种东西,讲的很勉强,或者说我对其理解还是太差了。一个类只承担一份责任听起来似乎很简单,但是我之前那个项目做的就很差,最多只能算是,一个类承担了该类的责任。

2024-06-27 15:49:39 662

原创 headFirst设计模式 模板方法模式

这里就是介绍了钩子函数的一个用法,在算法模板函数内部定义的钩子函数,由子类进行实现之后,依据运行时状态提供的不同的值来决定算法执行的具体步骤。不是很看得懂这里在说什么,我开始理解的是依赖倒置那种,两边都依赖着接口进行编程或者说是之前常见的避免循环依赖,只有高层组件调用底层组件不能反过来使的常规的设计模式,但是看了网上的解释好像又是不太一样,有点晕了。其次,就代码内容来看,这里的父类和子类也并不是一个很明确的继承或者说泛化关系,事实上,只能勉强说,子类中的一部分方法是父类的泛化罢了。这里倒是可以记录一下。

2024-06-26 16:12:19 360

原创 headfirst 适配器模式/外观模式

这里又提到了一点,就是类应该尽量少的与其它类发生关联。这点我只能说想法和思路是非常好的,但是如果业务逻辑那边确实需要交互的实际的类比较多,而又希望少一些,就只能再将下面的类通过外观模式进行组合和抽象,这实际上也是创建了更多的层级,虽说算是减少了维护成本吧,但是具体分割的粒度控制和实际上多出来的代码和消耗的思考时间,面对比较紧张时候的项目还是挺难受的。适配器模式是让一个不兼容的接口通过适配器的包装转换,变得兼容一些功能,外观模式是将一大堆繁杂的类依照功能抽象出一个便于其他地方调用的统一类。

2024-06-26 11:14:55 156

原创 headfirst 命令模式(这个感觉有点难)

这个模式的重点是,将命令包装起来,几层之间互相配合使用一下。以达到调用方和指令方解耦的效果。之后如果指令的具体操作细节出现了变化或指令的类别发生了调整,不需要修改调用方的代码。在此,将模式中的几个区块分为客户,调用者,接收者,命令对象。

2024-06-24 16:06:52 217

原创 headfirst 单例模式

这里的关键点是使用volatile关键字标记instance变量,这确保了当一个线程修改了instance的值后,其他线程可以看到这个更新,同时也禁止了编译器和处理器的指令重排序,避免了可能的内存可见性问题。在外部紧贴着进行异步查询是因为够快,这样只有在第一次尚未初始化的时候,会进入到未创建的同步代码块中来,其他时候都是直接拿到单例对象了。确保创建的时候同步环境下整个系统内都没有成型的实例。牵涉到的一个是volatile的使用,然后是在内外都进行了check的操作。

2024-06-24 14:02:24 148

原创 headfirst 工厂模式/抽象工厂

【代码】headfirst 工厂模式/抽象工厂。

2024-06-24 11:41:22 273

原创 算法背点板子,随缘更新吧,遇到了可能觉得有意义的就粘上来

【代码】算法背点板子,随缘更新吧,遇到了可能觉得有意义的就粘上来。

2023-10-23 01:05:16 35 1

转载 【Rust变量引用的几种定义方法以及区别】

这个例子里a是一个结构体Account的引用,并且a所引用的内容无法被修改,如果修改会怎么样?经过上面三种情况的讨论,我们可以知道这种写法的意思其实是:表示该引用可变,并且引用指向的内容可修改。总结:a:&mut T 表示该引用不可变,引用指向的内容可修改。这种引用变量的意思是:引用可重新赋值,但引用指向的内容不可修改。这种引用变量的意思是:引用不可变,并且引用指向的内容不可修改。总结:a:&T 表示该引用不可变,并且引用指向的内容不可修改。这种引用变量的意思是:引用不可变,引用指向的内容可修改。

2023-07-17 11:04:08 107 1

原创 以java语言为工具的粗糙的飞机大战游戏的开发与实现

以java语言为工具的粗糙的飞机大战游戏的开发与实现第一步,导入外部图片的素材库第二步,构建窗体和面板第三步,在GamePanel上面构建背景图画第四步,构建英雄机和敌人的机器,支援机器之类(包括顺便把子弹类也构建完毕了吧(因为英雄机里面是用的上的)),顺便做了一个充满了恶意的不能被打掉的导弹类第五步,为了游戏看起来更加和谐就加一个bgm吧第六步,把GamePanel里面我们创建的这些类对应的功能代码补齐写好(真的很长)第七步,把GameFrame里面的主方法写出来并且补齐剩余部分第一步,导入外部图片的素

2020-09-09 12:57:00 1503

空空如也

空空如也

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

TA关注的人

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