前言
由于gfw的存在 经常需要翻墙 自己手动搭建 ssServer又麻烦 使用docker 使用现成的image简单方便快捷
docker只能在3.10以上的内核的linux系统或者差不多版本的其他系统中运行 所以在购买vps的时候要看清楚是什么架构 内核是否支持docker
docker 下载ssServer镜像 (无法翻墙的请参考 另一篇笔记 docker使用aliyun加速器)
##在学ng2的时候接触到npm管理包、插件的方式 但是npm默认的源是国外的如果懒的科学上网 又想快速使用 只能使用国内的镜像站点 例如aliyun
####当安装npm 完成 可以通过如下的方法去修改npm的源
####1.通过config命令
npm config set registry https://registry.npm.taobao.org
npm info underscore (如果上面配置正确这个命令会有字符串response)
####2.命令行指定
npm –registry https://registry.npm.taobao.org info underscore
####3.编辑 ~/.npmrc 加入下面内容(linux 在你的用户目录下 没有就创建 windows在c盘下)
registry = https://registry.npm.taobao.org
####自己闲的蛋疼 购买了个树莓派3b 由于不太懂这个 买配件 组装运行起来耗费了好久 特此做个笔记
#####树莓派配件组成:
1:板子:就是生产好的树莓派的电子板
2:电源:3b版本需要5v 2.5A的电源 如果外接设备多的话要按需增加电源
3:sd卡:做系统启动 存储的sd存储卡
4:散热装备:散热片两个(cpu、gpu)、风扇一个
5:外壳:还是需要一个外壳的 不然贼丑
#####树莓派组装
1:先把sd卡刷个系统 随便刷 个官方的系统就行
2:把散热片贴好 。风扇接好 风扇接46脚 红色4(供电) 黑色6 如果想可关闭电风扇或者控温自动控制 需要一个继电器、一个温度感应模块
3:插上网线
4:接上电源
5:开机
需要会自己搭建内网或者扫描设备ip
然后通过ssh协议连接上树莓派即可
#####总结:成本大概在300-400左右 其实很不错了 这个价位能有这个配置这个玩法 很满足了 就是有点麻烦什么都要自己折腾 树莓派可以做很多东西 据大佬说 树莓派最终梦想就是自己造一架基于树莓派的无人机
####买回来好久 一直都是被舍友拿去垫电脑去了 今天有时间 拿出来把wifi模块启动起来 以后 就算垫桌子 也能用起来
#####前提条件
1:pi能正常启动
2:能链接pi的shell
3:pi的版本必须由无线网卡 pi 3b版本 带了无线网卡了
#####具体操作
1:登录shell
2:查看 附近wifi (多个无线网卡的大兄弟 请使用 ifconfig 查看选择一个网卡) 一般一个无线网卡 是wlan0
1 | sudo iwlist wlan0 scan |
##创建型模式:提供在创建对象的时候的逻辑,不是直接使用运算符如new这样的形式来实例化对象,
模式名称 | 模式概述 | 备注 |
---|---|---|
工厂模式(Factory Pattern) | 就是一个产品加工共厂的套路 负责产生一些大致相似的产品 | 例如生产娃娃的加工厂 生产娃娃 有的是充气的 有的是硅胶的 但是你只需要指定是使用什么材料 就可以通过工厂产生出来 |
抽象工厂模式(Abstract Factory Pattern) | 工厂的工厂 用来生产工厂的工厂 | 例如我有建造硅胶产品工厂的能力 我可以拿来建立娃娃工厂、我也可以拿来建立其他硅胶产品工厂 |
单例模式(Singleton Pattern) | 一个类只能有一个对象,并且是需要线程安全的创建 | 在国内一个人名义上是只能有一个老婆的,如果你想两个合法老婆 那就违法了 也就是线程不安全了 |
建造者模式(Builder Pattern) | 在将类组合成复杂对象的时候 被组合的类是变化的 但是组合的方式是固定的 | 例如娃娃工厂 里面需要很多基本的设备 什么融合材料的设备、将材料做成模型的设备、模型组合设备等等。他们大致组合顺序是固定的但是设备选择不一定,可以买国产货也可以使用其他国家的机器。 |
原型模式(Prototype Pattern) | 先创建一个原型 以后在需要这个对象 直接克隆 | 例如生产娃娃 你有一个波多XXX 啥的娃娃 但是她的制作工艺比较复杂 那这个时候可以通过这个娃娃去做一套模具来进行克隆 这样就能保证快速 完整的作出波多XXX样式的娃娃 |
##原型模式:(Prototype Pattern)
####意图
用原型实例来指定创建对象的种类,并且通过拷贝这些原型创建新的对象
####主要解决
在运行期建立和删除原型
####何时使用
1:当一个系统应该独立于它产品创建构成和表示的时候。
2:当要实例化的类是在运行时刻指定的时候 ,例如动态装载
3:为了避免创建一个与产品类层次平行的工厂类层次
4:当一个类的实例智能有几个不同状态组合中的一种时候,建立相应数目的原型并克隆他们 比每次用合适的状态的手工实例化该 类更方便一些
####如何解决
利用已有的一个原型对象,快速生成和原型对象一样的实例
####关键代码
1:实现克隆操作 利用Cloneable 重写clone(),
2:原型模式同样用于隔离类对象使用者和具体类型(易变类)之间耦合关系,要求易变类拥有稳定的接口
####实例
1:细胞分裂
2:java object clone() 方法
####优点
1:提高性能
2:避免构造函数约束
####缺点
1:配备克隆方法需要对类的功能进行通盘考虑,对于全新的类不麻烦,但是对于已经有的类不容易实现,特别是一个类引用不支持串行化的间接对象或者引用含有循环结构的适合
2:必须实现Cloneable接口
3:逃避构造函数约束
####使用场景
1:资源优化
2:类初始化需要很多资源,
3:性能和安全要求场景
4:通过new产生对象需要非常繁琐的数据准备或者访问权限
5:一个对象多个修改者
6:一个对象需要提供给其他对象访问,并且多个调用者都需要修改其值,
7:实际项目中原型模式常根工厂模式一起,通过clone创建一个对象,如何由工厂方法提供给调用者,
####注意
和对一个类来实例化创建对象不同的是,原型模式是通过一个现有的对象生成一个新的对象,浅拷贝通过Cloneable ,深拷贝通过Serializable读取二进制流
####总结:通过实现cloneable的clone() 方法来实现浅克隆 通过序列化获取二进制流 来进行深度克隆 就是自行创建一个可靠安全的原型 通过克隆方式获得该对象
####代码地址:https://github.com/xuxianyu/myGitHub/tree/master/DisignPattern/src/main/java/com/xxx/create/Prototype
##桥接模式(Bridge Pattern)
####意图
将抽象部分和实现部分分离,使他们可以独立变化
####主要解决
在多种可能变化的情况下,用继承会造成类爆炸的问题,不好扩展
####何时使用
实现系统可以有多个角度分类,每一个角度都可能变化
####如何解决
把这种多角度分类分离出来,让他们独立变化,减少之间的耦合
####关键代码
抽象类依赖实现类
####应用实例
1:猪八戒从天蓬元帅投胎到猪转世投胎机制将尘世划分为肉体和灵魂 ,前者相当于实现化,后者相当于抽象化,生灵通过功能委派,调用肉体对象,
2:开关
####优点
1:抽象和实现分离
2:优秀扩展能力
3:实现细节对客户透明
####缺点
桥接模式会增加系统理解和设计难度,由于聚合关联关系在抽象层,需要开发者对抽象进行设计和编程
####使用场景
1:如果一个系统需要在组件抽象化角色和具体化角色之间有更多的灵活性,避免在两个层次之间建立静态继承关系,通过桥接模式可以使他们在抽象层建立一个关联关系
2:对于不希望因为使用继承或者因为多层次继承导致类中个数急剧增加的系统
3:一个类存在两个独立变化的维度 ,并且两个维度都需要进行扩展
####注意
对于两个独立变化的维度 使用桥接模式最合适
####总结:利用一个中间接口来把多种不同状态的类进行分离
####代码地址:https://github.com/xuxianyu/myGitHub/tree/master/DisignPattern/src/main/java/com/xxx/structural/bridge