- 博客(34)
- 资源 (2)
- 收藏
- 关注
原创 如何用csv批量导入Jira issue并且内容里可以带 \n 换行符
Jira可以用csv批量导入 issue,但当内容中出现换行符(比如”描述“字段中),就需要额外处理一下。
2023-03-28 18:07:10
1291
原创 Confluence安装部署文档
文章目录安装和破解安装过程-Docker版本安装 docker 环境(配置aliyun加速器非必要,注意替换真实URL)安装 confluence从冷备份恢复confluence安装和破解安装jdk;下载 atlassian-confluence-6.3.1-x64.bin(https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-6.3.1-x64.bin),并执行;根据提示安装,安装目
2021-03-11 18:00:28
935
原创 Java基础
Java中对象初始化顺序是怎样的先静态,后动态;(静态变量优先于非静态变量初始化)先静态代码块;(在类中有 static 代码块,无论写在哪,都先执行static代码块,有多个的话,按顺序执行,即使 static 代码块在 main 方法后,也会先执行 static 代码块)先父后子;(父类优先于子类初始化)按定义顺序执行;(其他的按定义顺序执行)Java 的多态Java的多态是通过 接口、继承、重载、重写 实现的继承: A is a B组合: A has a B重载(
2021-03-03 20:01:47
89
转载 Python 元编程
元编程黑魔法防御元编程是一种黑魔法,正派人士都很畏惧。——张教主何谓元编程编写一个程序,能够操纵,改变其他程序,这就是元编程最简单的来说,C的宏就是元编程的一种元编程的另一大代表则是lisp的宏虽然不常见,但是汇编级别也是可以元编程的,例如可执行文件压缩如果源语言和目标语言一样,就是我们最常见的反射元编程的几种形式文本宏语言,
2015-09-10 14:34:21
1678
转载 python设计模式之Borg模式
Borg模式activestate上面有篇文章Singleton? We don’t need no stinkin’ singleton: the Borg design pattern, 告诉我们Borg模式要比单例模式要好。 为什么这样说:单例模式生成的单例一旦生成就一直存在,但是Borg确实和源共享的能修改python的例子class Config(object): _we_are_
2015-07-29 18:27:49
1626
转载 python设计模式之Builder模式
Builder模式Builder模式帮你把一个不同类的大工程分开成不同的部分,最后在把这些合并起来python的例子制造一辆车的工序是很繁琐和浩大的,我们可以定一个车辆的描述class Vehicle(object): def __init__(self, type_name): self.type = type_name self.wheels = None
2015-07-29 18:27:47
927
转载 python设计模式之状态模式
State模式状态模式是一种常用的模式,和名字一样,可以在调用时修改其内部属性,看起来就像改变了类的状态python的例子class NetworkCardState: """基类""" def send(self): raise NotImplementedError def receive(self): raise NotImplemente
2015-07-29 18:26:14
530
转载 python设计模式之抽象工厂模式
抽象工厂模式和简单工厂/工厂方法不同,抽象工厂可能最好理解,举个例子: 比如2个动物,猫和狗,他们都有speak和eat的function,但是很明显他们执行的结果是不同的 有个’工厂’(抽象工厂里面一个类型就是一个工厂,这点和其他模式的不同)专门帮助我们找到对应的动物做正确的操作 有个类/函数可以通过参数帮助我们找到上面的这个工厂 这就是抽象工厂python的例子from abc impor
2015-07-29 18:25:30
500
转载 python设计模式之命令调度模式
命令调度模式设想一个问题,假如你经常搞web框架,你知道GET/POST/PUT/DELETE,当你想确定使用那种方式工作你需要大概这样:if command == 'get': get()elif command == 'put': put()else: error()抑或写一个字典作为调度的方式:dispatch_table = { 'get': get,
2015-07-29 18:24:20
549
转载 python设计模式之装饰器模式
装饰器模式在python中装饰器已经算是代码级别的模式了,装饰器这个@符号会深入你我心,而这个技能也是写代码必备之大技.增加额外的功能,装饰器其实就是在你执行类或者函数之前给你封装了一层或者多层(多个装饰器,这在web框架代码中很常见)操作,z但是不影响你最后执行代码 其实原理就是:有一些函数或者类里面有一些步骤是一样的(比如对数据缓存,比如加锁和释放),那么你就可以把这些重复的东西拿出来放在装饰器
2015-07-29 18:22:58
754
转载 python设计模式之享元模式
享元模式Flyweight模式,顾名思义,就是共享元数据,在python这个动态语言中可以提高程序性能和效率,比如从一个文件读取很多的字符串,而这些字符串必定重复,所以可以使用这个模式将其存在一个pool中python的例子(我将提出一系列的例子不同方式实现这个功能) 普通青年版,看了Gof,可能就会有这样基础的一段代码:class Spam(object): def __init__(s
2015-07-29 18:22:11
1103
转载 python设计模式之策略模式
策略模式Strategy 模式和抽象工厂可能最难分辨,抽象工厂帮助我们根据我们的参数找到对应的操作工厂,而每个操作工厂提供了相同的接口函数 操作工厂所以可能是从一个基类继承的不同实现,举个例子,有个鸭子的基类,然后有很多品种的鸭子是不同的操作工厂,本来根据抽象工厂会返回这个操作工厂来获得这个特定的鸭子的类型,比如一个fly的方法,问题出现了: 有些鸭子会飞,有些不会飞。在实际中有Mixin的角度,但
2015-07-29 18:18:01
762
转载 python设计模式之单例模式
单例模式通过Singleton模式,全局保证只有一个实例,在python中怎么用呢?python的例子我这里实现了一个pymongo连接的‘缓存’,为了保证在一个进程里面调用只产生一个连接数class ConnectionSingleton(object): '''通过重载实例化函数__new__缓存mongodb连接''' conn=None def __new__(cls
2015-07-29 18:17:43
499
转载 python设计模式之责任链模式
责任链模式比如我们还在读书的时候,考试的分数都是几个档次,比如90-100分,80-90分,好吧我想做一个根据分数打印你的学习成绩的反馈, 比如90-100就是A+,80-90就是A,70-80就是B+… 当然你可以用很多种方法实现,我这里就来实现一个Chain模式:用一系列的类来响应, 但只有遇到适合处理它的类才会处理,类似与case和switch的作用python的例子class BaseHan
2015-07-29 18:10:23
1310
转载 python设计模式之组合模式
组合模式我们把Composite模式看成一个复杂的属性结构,其实基本有三种角色:树干(定义一些操作树叶leaf的操作),树枝(树干上有很多树枝)和树叶(树干想要具体操作的对象) ,Composite模式帮我们实现:即它们在充当对象的时候,还是其他对象的容易,从而提供一致性python的例子class Trunk(object): '''树干''' def __str__(self):
2015-07-29 18:08:44
526
转载 python设计模式之桥接模式
桥接模式这个模式其实就是把产品类的实现和抽象类分离,能够灵活的变化,假如你记得状态模式,它是修改内部属性, 而桥接模式是指定好内部属性,每个产品类指定这个属性被桥接模式类调用,适用于产品类可能经常调整变化,这样还能减少了产品类之间的耦合python的例子这里实现一个打印操作系统名字的功能class Bridge(object): def __init__(self): self
2015-07-29 18:05:04
892
转载 python设计模式之Null模式
Null模式我想每个人都有一种经历,为了获取某属性,但是有时候属性是None,那么需要你做异常处理, 而假如你想节省这样的条件过滤的代码,可以使用Null模式以减少对象是否为None的判断python的例子我举个不是很通用的例子,只是为了让大家理解这个模式:我有很多类, 但是不是每个类都有类方法test,所以我调用类方法就要做个异常处理,类似这样class A(object): passcl
2015-07-29 18:04:07
592
转载 python设计模式之模板方法模式
模板方法模式不知道你有没有注意过,我们实现某个业务功能,在不同的对象会有不同的细节实现, 以前说过策略模式, 策略模式是将逻辑封装在一个类(提到的文章中的Duck)中,然后使用委托的方式解决。 模板方法模式的角度是:把不变的框架抽象出来,定义好要传入的细节的接口. 各产品类的公共的行为 会被提出到公共父类,可变的都在这些产品子类中python的例子'''http://ginstrom.com/scr
2015-07-29 18:02:02
593
转载 python设计模式之代理模式
代理模式Proxy模式是一种常用的设计模式,它主要用来通过一个对象(比如B)给一个对象(比如A) 提供’代理’的方式方式访问。比如一个对象不方便直接引用,代理就在这个对象和访问者之间做了中介python的例子你先设想:一个对象提供rgb三种颜色值,我想获得一个对象的rgb三种颜色,但是我不想让你获得蓝色属性,怎么办?class Proxy(object): def __init__(self
2015-07-29 17:59:19
959
转载 python设计模式之对象池模式
对象池模式在开发中,我们总是用到一些和’池’相关的东西,比如 内存池,连接池,对象池,线程池.. 这里说的对象池其实也就是一定数量已经创建好的对象的集合。为什么要用对象池? 创建对象是要付出代价的(我暂时还没有研究过底层,只说我工作中体会的), 比如pymongo就自带线程池,这样用完就放回到池里再被重用,岂不是节省了创建的花费?python的例子我这里实现了个线程安全的简单的对象池import Q
2015-07-29 17:56:23
2023
转载 python设计模式之备忘录模式
Memento模式备忘录模式一个最好想象的例子:undo! 它对对象的一个状态进行了’快照’, 在你需要的时候恢复原貌。做前端会有一个场景:你设计一个表单,当点击提交会对表单内容 验证,这个时候你就要对用户填写的数据复制下来,当用户填写的不正确或者格式不对等问题, 就可以使用快照数据恢复用户已经填好的,而不是让用户重新来一遍,不是嘛?python的例子这里实现了一个事务提交的例子import cop
2015-07-29 17:47:27
411
转载 python设计模式之访问者模式
访问者模式我觉得Visitor模式是在补修改已有程序结构前提下,通过添加额外的访问者完成对代码功能的拓展 为什么这样用?当你的类层次较多,在某层结构中增加新的方法,要是在基类上面添加或者变更,可能破坏原来的设计, 有兼容问题,所以只在需要的类上面动态添加python的例子这里是个构建车的例子,每个部件都有一个accept的方法接受我上面说的所谓’访问者’,而这个访问者 以参数的方式传进来,但是其实他
2015-07-29 17:42:33
675
转载 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-07-29 17:41:06
294
转载 python观察者模式
asdfasdfasdf# 这个是观察者基类class Subject(object): def __init__(self): self._observers = [] # 添加依赖的对象 def attach(self, observer): if not observer in self._observers:
2015-07-29 17:34:44
473
转载 java基础(2)
1、两线程程序对初始为零的非负整数,一增一减, 同时每次对变量输出。生产者消费者问题(用object类中wait和notify方法)2、关于wait,notify,notifyAll,以及sleep方法的关系(重要)1)如果一个线程调用了某个对象的wait方法,那么该线程首先必须要拥有该对象的锁,(换句话说,一个线程如果调用了某个对象的wait方法,那么该wait方法必须在synchr
2015-07-02 11:11:26
330
转载 java基础(1)
1、关于String语句:String s=new String("123");分析如下: 该语句做的三件事情1)在String pool中检查有没有“123”这个对象,若没有情况下新建该字符串常量对象。(注意若原来有“123”对象在String pool中就不会再创建了。)2)把在String pool中“123”这个对象拷贝到堆内存中(注意只要有new,不管
2015-07-02 11:10:24
353
原创 python模板替换工具pystache用法简例
官方地址:https://github.com/defunkt/pystachepystache是小胡子(mustache)的python版本插件。它的特点是轻量级、使用简单。pystache支持变量替换、列表遍历、条件判断等。更多的使用方法见官方文档。小例子:# -*- coding=utf-8 -*-'''Created on 2013-3-11@author:
2013-11-15 16:40:11
4752
原创 python中or关键字在变量赋值时的用法
在python中,某些情况下,or可以替换if else 达到代码简化的作用,比如在变量赋值时。基本用法:v = p1 or p2它完成的效果等同于:if p1: v = p1else: v = p2看看下面这段代码:# -*- coding=UTF-8 -*-'''Created on 2013-6-6@author: lingjun.go
2013-11-15 15:16:16
8760
原创 python中遍历列表、元组的技巧
python中可以通过 [ ] 方便地遍历一个列表,见代码:# -*- coding=GBK -*-'''Created on 2013-5-30@author: jialan'''def hi(c): print 'hi,%s' % c s=[x**2 for x in range(9)]print s[hi(x) for x i
2013-11-15 15:11:23
2005
原创 python中快速实现swap
见代码:# -*- coding=UTF-8 -*-'''Created on 2013-5-30@author: lingjun.gong(jialan)'''x=1y=2print '交换前'print x,y(y,x)=(x,y)print '交换后'print x,yprint 'DONE!'
2013-11-15 15:05:29
1086
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人