Wangtiegang Blog

世界纷纷扰扰喧喧闹闹,什么是真实

TypeScript学习笔记(一)

《TypeScript入门教程》阅读笔记

TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持,它由 Microsoft 开发,代码开源于 GitHub 上。 ts代码最终会编译成js代码运行,但是会在编译时做静态检查。 原始数据类型 JavaScript类型分两种:原始数据类型(Primitive data types)和对象类型(Object types)。原始数据类型...

设计模式之命令模式

《Head First 设计模式》阅读笔记

命令模式的概念有点抽象,书上的定义为 命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 在软件系统中,“动作的请求者”与“动作的执行者”通常是一种紧耦合的关系,但某些场合,比如需要对“动作”进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适,命令模式将“动作的请求者”从“动作的执行者”对象中解...

设计模式之单件模式

《Head First 设计模式》阅读笔记

单件模式:确保一个类只有一个实例,并提供一个全局访问点。 单件模式是一个很简单的设计模式,在开发过程中有一些对象其实我们只需要一个,比如线程池,缓存,日志对象等等。这类对象如果制造多个实例,就会导致许多问题产生,比如程序行为异常,资源使用过度,全局配置不一致等等。 我们知道,创建一个只有单个实例的对象,可以通过 static final 关键字修饰来达到,并且具有全局访问点,那为...

RAMN备份与还原

CentOS7.6 Oracle11.2.0.4

最近新装的测试数据库需要做rman备份还原,将不同数据库实例名的备份还原到新的测试库中,顺便在新的库中设置rman备份脚本。 rman备份 关闭oracle闪回(fast_recovery_area)功能 由于在安装数据库的时候按照文档开启了闪回功能,会在rman备份时产生一些麻烦,了解了一下之后,最好是关闭闪回功能。 oracle默认将归档日志放到了闪回恢复区中,生产库上事物...

Linux安装Oracle11gR2

CentOS7.6 Oracle11.2.0.4

最近两天在Linux上折腾安装Oracle数据库,本来保险起见应该叫dba来安装的,但是最后这个事情落到了我头上,只能拿着一个相近的文档边安装边学习了,此文详细记录安装过程。 安装信息 操作系统:CentOS 7.6 Oracle版本:11g 11.2.0.4 操作系统环境准备 /etc/sysctl.conf设置(root) 修改系统内核参数,在/etc/sysctl...

设计模式之工厂模式

《Head First 设计模式》阅读笔记

工厂模式分为简单工厂,工厂方法模式和抽象工厂模式。 简单工厂 简单工厂其实不是一个设计模式,反而更像是一种编程习惯,它是指创建对象时不再直接使用 new ,而是把创建的过程委托给一个工厂类,这样客户端类不再依赖具体的实现类,只需要依赖工厂类,给出具体的参数给工厂类,工厂类就会返回对应的实例对象。这种适合在根据大量判断条件创建不同类型时使用,工厂将具体的对象跟客户端解藕,并且更加具有可重用...

Java位运算

Java位运算包括按位操作符和移位操作符,通常用的不多,但是有时候我们会在源码中接触到,合理利用可以提高运算速度。在学习位运算之前,我们需要先回忆下原码,反码,补码。 原码、反码、补码 原码 二进制中对数字的一种表示方法,最高位为符号位,正数该位为0,负数该位为1,其他位表示数值的大小。例如用一字节来存储十进制1,原码为00000001,-1为10000001。 原码的特点是...

Java-IO学习笔记(一)

主要参考《Thinking in java》

上周学习设计模式的时候,了解到Java中的IO使用了装饰者模式,由于装饰者的缺点之一就是会造成有大量的类,让使用者一时无法理解如何使用,Java IO完美继承了这些缺点,每次使用都各种new,非常懵逼,甚至一度觉得要记住太困难了,偶尔使用只能去复制粘贴,不过理解了装饰者模式之后,这事就好办多了,趁机从头理解下Java IO。 编程语言的I/O类库中常常使用流这个抽象概念,它代表任...

设计模式之装饰者模式

《Head First 设计模式》阅读笔记

学完装饰者模式之后发现代码实现很简单,但是有种不知道在什么场合适合应用的感觉。对于书上写的咖啡例子感觉有点强行使用,不过对于原理讲解来说很合适,暂且记录下来,后续还需要结合实际应用例子加深理解。 装饰者模式 动态的将责任附加到对象身上,若要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。 通俗点讲就是在运行时将功能扩展到原来的对象上,但是不需要修改原对象的代码。这样的好处就是...

Linux使用rsync同步备份文件

日常工作中备份是常见的事情,重要的包括数据库备份和文件备份,有些应用会在开发中就走了主从备份方案,在使用的过程中就是实时备份,有些小一点的单机应用,备份方案就没这么完善了,经常需要定时备份成文件,然后发生故障时通过文件手动恢复。比如oracle数据库可以使用rman做增量备份,但是有个问题,rman备份出来的文件跟数据库在同一台服务器,如果不把备份文件再移动到其他服务器上去,则还是存在服务器...