Wangtiegang Blog

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

设计模式之观察者模式

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

这两天学习了观察者模式,看完书之后,发现观察者模式其实很简单,书中的定义为 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新 这个就好比订阅报纸,当报社有新报纸出版时,就会通知所有订阅用户,并且把报纸送到对方手中,任何时候都可以有新的订阅者加入,也可以有老的订阅者退出。 这里的报社称为 可观察者/主题 ,订阅用户称为 观察...

关于Oracle项目的一些实践思考

前言 最近几周都在升级重构原来的项目,这个项目的业务逻辑代码几乎都是在Oracle数据库中用存储过程实现的,从17年上线到现在,中间经历了很多次需求新增和变更,业务表单也从原来200多个增加到了500多个,数据库的表也超过了1000张,这中间开发和运维一直有些痛点得不到解决。今年部门决定升级Ebs系统,导致这个项目也需要跟着进行升级,正好借此机会进行规范制定和重构,希望能解决部分痛点,提升...

利用莱文斯坦距离计算两个字符串的相似度

前几天有个朋友问了我一个问题,有两个Excel文件,每个文件都包含一列地址,两个文件的地址在实际中都是一一对应的。但是由于各种原因,两列地址存在误差,数据大概如下: A Excel B Excel 网商路100号网商路第100号 网商路100号网商路100 网商路100100号网商101000号 现在需要把这...

设计模式之策略模式

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

《Head First 设计模式》书中对策略模式对定义为:定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 书中用一个鸭子游戏来循序渐进的讲解策略模式,假设有几种鸭子它们都能叫能游泳,并且鸭子的种类是可以增加的,那么如何设计这个游戏呢? 肯定第一反应就是使用继承了,先定义一个鸭子的父类 1 2 3 4 5 6 7 8 9 10 11 12 1...

利用vsftpd搭建ftp文件服务器

最近跟外部业务系统进行数据对接,其中涉及到对方要获取我们到附件,跟同事商量了一下后,最后决定搭建一个 ftp 文件服务器,让对方通过 url 从 ftp 服务器下载附件。之前没搭建过ftp服务器,了解了一下之后,发现大多是使用 vsftpd 软件去实现,才发现平时从各种电影网站下载电影到时候,那些 ftp:// 开头的下载链接都是 ftp 文件服务器,原来都不需要写代码。。。 安装vsft...

nginx学习笔记(二)

"nginx代理服务器配置,多链路nginx负载均衡"

上次接手一部分基础运维工作的时候学习了下nginx,写了《nginx学习笔记(一)》,《网络基础知识》,后来自己参照原来的nginx代理服务器集群配置又增加了一台nginx节点,接触了很多东西,中间很多配置都是复制原有的做些修改,对网络这块的东西一知半解,本来想理清楚了再好好写第二篇,但是一直有各种开发任务排期,下班了就不想动,拖着拖着就两个星期过去了。今天又想到这个事情,觉得我不是很有必要...

Mac配置linux密钥登陆及rz|sz命令

"生成rsa密钥对,安装lrzsz"

公司的服务器都是使用密钥对进行登陆验证,这跟我以前使用用户名和密码登陆有点差别,并且在mac上指定密钥登陆比windows做起来复杂一些,以下记录相关的操作。 mac生成rsa密钥对 使用ssh-keygen命令 1 2 3 4 # 1.指定生成密钥对邮箱 # 2.回车后按提示输入密钥对对保存路径和名称,比如/Users/wangtiegang/.ssh/wan...

maven+srping+cxf实现WebService

"使用JAX-RS方式实现restful风格服务"

最近需要为业务系统提供数据服务,包括json数据和文件,于是先了解一下利用cxf发布WebService服务,对数据传输,安全验证,文件传输进行测试,看看是否有问题。 添加CXF的maven依赖 进入官网查看文档,发现使用cxf基础功能,只需要添加两个依赖。 1 2 3 4 5 6 7 8 9 10 <dependency> <groupId>org...

网络基础知识

"IP地址,子网掩码,网关,DNS"

最近要接手nginx代理服务器的运维工作,考虑到稳定性,网管在两台服务器上安装了两台代理服务器,使用frr基于BGP协议配置了等价路由,当其中一台nginx故障时,路由会自动切换,将所有请求转向备用服务器,从而达到服务不中断。网管这一套还挺高级的样子,需要一定的网络基础才能弄清其中的来龙去脉,但是我连子网掩码是什么都忘了,一脸懵逼,只能从头开始了解。 IP地址 IP是指互联网协议(...

nginx学习笔记(一)

"nginx安装和启动"

nginx介绍 传统的Web服务器体系结构中,每个客户端的连接作为一个单独的进程或者线程处理,随着并发连接数的增加,产生进程或线程,切换上下文会消耗额外的Cpu和内存,导致Web服务器减慢,延迟了对用户的响应。 Nginx采用可扩展的事件驱动架构,多进程(单线程) & 多路IO复用模型。Nginx启动后会有一个master进程和多个相互独立的worker进程,每个连接分配到一个...