自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (2)
  • 收藏
  • 关注

原创 最好用的开源免费笔记软件IdeaNote

项目地址:https://github.com/xmings/IdeaNote.gitIdeaNoteIdeaNote是一款基于WEB的集树形目录管理、Markdown编辑、免费增量离线同步等众多优秀功能于一身的开源知识管理平台。IdeaNote开发语言是Python3.7 + Flask框架一. 设计初衷努力把IdeaNote打造成一款功能强大个人知识管理平台,是平台而不仅仅是笔记...

2019-11-25 09:11:06 3930 2

原创 Python实现超时装饰器

目标:实现一个超时自动切换当前任务到其他任务装饰器,然后还可以在其他任务完成后再切换回来的程序原计划在signal.signal的handler中触发TimeoutError,然后在用户代码的exception中捕获到异常,此时就可以切换到其他任务了。如下:import signalimport timedef timeout(seconds): def raise_timeou...

2019-08-14 13:06:14 481

原创 TypeError: can't pickle _thread.RLock objects

"D:\Program Files\Python36\python.exe" E:/工作文件/Project/pycrontab/test.pyTraceback (most recent call last): File "E:/工作文件/Project/pycrontab/test.py", line 9, in <module>

2018-07-24 16:26:39 9852

原创 PostgreSQL JSON类型

https://www.postgresql.org/docs/10/static/functions-json.html#FUNCTIONS-JSONB-OP-TABLEPostgres支持两种JSON类型: json和jsonb. 两种类型在数据存储前都作了JSON格式的检查,但jsonb存储的是已分解的二进制格式,所以存储的时候效率稍微有些低,但在数据处理的时候可以显著提升效率。同时js...

2018-06-20 17:36:30 1865

原创 SQL格式化工具

作为一个长期从事于数据库的工作者,本人对于各种数据库管理工具的代码格式化功能SQL语句的功能相当不满,特别是除PLSQL Developer之外的工具,“美化”的SQL相当难看。笔者最近抽出来时间自己写了一个SQL格式化工具(O(∩_∩)O哈哈~不敢叫美化),放在Github上。有兴趣的同学可以看看。https://github.com/wmsgood/DataTool/blob/master...

2018-04-28 14:34:26 3540

原创 GitLab自动部署(CI)

目前GitLab已经有了CI功能,即持续集成的功能。可以实现代码提交后自动测试、编译、发布、部署等自动化工作。关于这一块的内容,网上文章都是语焉不详。最近正需要GitLab自动部署,踩了不少坑,现把配置步骤记录下来,以供大家参考。目标:代码提交到GitLab上,由GitLab的CI功能自动完成部署。原理:GitLab在接收到代码提交事件时,通过.gitlab-ci.yml的配置信息与对应节...

2018-04-20 13:22:59 11664 2

原创 Kettle处理boolean类型数据

问题描述:使用Kettle连接一些支持boolean类型的数据库(比如postgres/greenplumn时就)作输入输出时会遇到以下错误,因为当boolean类型的数据被加载到kettle中变成了字符串'Y' 或 'N' ,当再插回另一个数据库时,就提示字符串类型不能插入boolean类型。 ERROR: column “result” is of type boolean but ex...

2018-04-02 11:14:58 1762

原创 Linux下的权限(RWX)详解

平时没太在意Linux权限的问题,今天正好要实现一个只允许写不允许删除其它文件的功能,正好整理一下。 以下结果在Centos7.1上测试通过,如有不正确的地方,请在评论区指出! r (Read):对于文件,具有读取文件内容的权限;对于目录,具有浏览目录的权限。 w (Write):对于文件,具有新增,修改,删除文件内容的权限;对于目录,具有新建,删除,修改,移动目录内文件的权限(即...

2018-03-30 13:45:39 1601

原创 Git取消配置文件的跟踪

一般我们都是通过.gitignore文件来现实commit时不提交一编译中间文件。但.gitignore有个缺点,即当之前该文件已经被跟踪(track),那么再把这个文件名添加到.gitignore中就没有用了。不过网上有很多文章说,通过以下命令让.gitignore生效:git rm -rf --cache xxx.h但执行完该命令,再commit的时候发现remote上的该文件...

2018-03-22 14:58:33 1562

原创 Windows下获取已安装应用程序

获取WINDOWS系统已安装的所有应用程序,打开注册表,HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store

2018-03-21 15:58:20 4741

原创 find与ls命令合体坑总结

作为一个高级系统工程师,当然要熟悉linux下各种命令的快速拼写。O(∩_∩)O哈哈~ 然而,find与ls命令的快捷方式我们又知道多少了? 我们可能会用find / -name xxx -type f,可能会用ls -lrt,我们知道ls中-k代表按kg显示,-s代表按块显示,-h文件大小更和谐的方式显示。但很少有时间去发现有那么内置能提高工作效率提高自己段位的参数。我们就举几个好用的例子来

2018-01-16 16:16:40 4089

原创 GitHub中GPG认证使用

1. 打开本地的git bash命令窗口,执行gpg –gen-key:gpg --gen-keyPlease select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only)Your se

2018-01-14 19:20:24 2175

原创 SQL求几几何平均数

Oracle,PostgreSQL都没有直接求几何平均数的方法,需要通过以下方式实现: power(exp(1),ln(exp(sum(ln(col_a))))/count(1)首先要知道求积如何实现:with sele as (select 3 as col_a union all select 4 as col_a)select exp(sum(ln(col_a )))

2018-01-06 16:08:20 1434

原创 Python Select socket非阻塞写日志

上一篇我们通过线程锁实现了一个简单的并发写日志功能,该篇我们通过socket来实现一个写日志的程序,代码如下:socket服务端import selectorsimport socket, timesel = selectors.DefaultSelector()def accept(sock, mask): conn, addr = sock.accept() conn.setb

2018-01-02 00:18:56 471

原创 Python通过Thread锁实现并发日志入库

使用线程锁来实现一个简单写日志到数据库的功能,通过threading锁来实现线程安全,代码如下:#-*-utf-8-*-import logging, datetime, timefrom multiprocessing import Queue, Processimport cx_Oracleimport threadingclass LogInfo(object): def __

2017-12-30 22:18:51 731

原创 Python实例管理

Python如何实现一个类只允许被实例化一次?这就要分两种情况:在同一个脚本中实例化同一个类这种有两种方法实现,一个是利用__new__方法,需要知道的是__new__方法运行的__init__方法之前,所以我们可以控制如何实例化类,甚至返回其它类的实例。通过类方法来实现,如下getInstance方法,这种就不很完美,因为其它人依然可以直接通过Test()这种方式来实例化类。class Te

2017-12-27 23:38:40 339

原创 Pycharm取消py脚本中SQL识别

Pycharm默认可以识别py脚本中的SQL语句,本身很不错,但当SQL拼接时就显示的代码特别难看,找了好久,终于知道怎么关闭SQL识别功能了。如下图,把勾去掉就可以了。

2017-12-26 14:53:56 4449

原创 Postgresql发布与订阅

重点1、当Subscriber创建时会在对应的Publisher上创建一个slot,因为每一个订阅,都要消耗掉一个replication slot,需要消耗一个wal sender。 2、Publisher发生的改变都保存为wal文件,由walsender进程发送,然后Subscriber的apply进程应用后,才会删除对应的wal文件。所以断网恢复后可以自动同步。配置On the publish

2017-12-26 11:50:16 2252

原创 Oracle对象批量编译

Oracle导出导入数据后,如果新导入的有存储过程、函数、触发器、视图之类的Object就需要重新编译一下,不然他们的状态就是无效的。提供一个SQL以供大家使用。declare objowner varchar2(50) := 'scott';begin for obj in (select object_name from all_objects where status = '

2017-12-25 12:58:06 1151

原创 Oracle expdp/impdp测试库搭建过程

最近客户需要搭建一个测试库,折腾完,正好把的经验整理一下。一、测试库库创建:在windows下创建数据库最好以管理员权限运行,即使是Administrator登录也要这样操作,一般我们最好是保证使用Administrator来创建。不然后面可能监听无法创建。数据库是OLAP还是OLTP,OLAP最好修改一下数据块字符集一定要和生产库的保持一致,包括Language。同时保证nls_databa

2017-12-25 00:16:57 2642

原创 Python Json树更新

记录一段搜索Json树的代码,用于返回指定的节点并更新,因为Python返回的字典是对象引用,所以可以直接更新。class BaseJsonGenerator(object): def __init__(self): self.bmDao = BMDao() def run(self, brower, jsonFile): self.bmD

2017-12-16 21:37:16 1300

原创 Kettle日志输出到文件方法

网上有很多关于如何实现Kettle日志输出到日志文件的方法,但需要修改代码,重新编译,比较麻烦。 这里面提供的方法可以解决两个问题:1、把日志输出到文件;2、日志的时间精确到毫秒; 有时Kettle运行的很快,1 秒之内就输出好几条记录,而默认日志的时间只到秒级,这样日志的顺序就是混乱的。用这种方法就可以部分解决,因为控制台的默认日志无法去除掉,需要改代码。在Kettle的程序目录下data-

2017-12-13 13:52:32 9392 2

原创 一段管理实例的代码

logging中很好一段代码,在返回实例前先通过类的参数检查是否存在,存在就返回已存在的实例,不存在就实例化 def getLogger(self, name): """ Get a logger with the specified name (channel name), creating it if it doesn't yet exist

2017-12-12 11:38:58 200

原创 GitHub API Push接口

最近研究一下GItHub API,想通过API直接提交文件,先把关键信息放上来,后面再来排版。 注意: 1、需要先在GitHub上创建一个token,方法: Settings–>Developer settings–>Personal access tokens–>Generate new token,选择对应的权限即可。 2、curl命令不要回车,最后是在编写完命令

2017-12-11 23:21:45 2108

原创 利用七牛云解决PC端文件同步

经常有一些文档需要在公司和家里的两地电脑间手工同步,很麻烦,于是利用七牛云免费的空间来做服务端实现同步功能。 同时,为了文档内容保密,我采用cryptography模块(通过指定一个复杂的字符串)对文件加密,这样即使别人获取了七牛云上的文件也无法破解。import os, time, uuid, requestsfrom qiniu import Auth, put_file, urlsafe_

2017-12-05 23:59:47 824 2

原创 Git远程仓库地址管理

查看远程仓库地址git remote -v更改远程仓库地址git remote set-url origin REPO_URL(ssh格式或http格式)删除远程仓库地址git remote rm origin 添加远程仓库地址git remote add origin REPO_URL(ssh格式或http格式)添加第二远程仓库地址git remote set-url --add origin R

2017-11-28 15:11:03 334

原创 Git免密码提交

今天要在公司的Git服务器上创建一个自己的仓库,但clone下来的项目再提交时总提示要填写username和password,导致我的SubLime Text编辑器git功能不能使用,很不甘,我记得git的可以通过密钥来验证用户的。经过几番折腾解决,记录如下:1、首先你得安装一个git程序。 2、查看系统中是否有已生成的公钥,在命令行中执行以下命令:windows(cmd命令行): type

2017-11-28 14:09:57 6321

原创 PostgreSQL时间加减

连夜声讨PG,竟然时间加减写法有坑select CURRENT_TIMESTAMP::TIMESTAMP - '5 day'以上向前减5天,一直报错:[Err] ERROR: invalid input syntax for type timestamp: “5 day” 折腾好久,网上也没有正确的说明。而改为+号就能正常执行select CURRENT_TIMESTAMP::TIMESTAM

2017-11-27 01:31:37 21500 1

原创 PyQT之QWebEngineView与JS交互

GithubWEB编辑器的项目很丰富,也都做的很好,于是想利用PyQT5的QWebEngineView来嵌入自己喜欢的WEB编辑器打造自己的编辑器,因为CSS和JS来实现样式和定义一些事件动作很灵活也很漂亮。以下是PYQT与JS交互的核心代码:class EditorOper(object): def __init__(self, parent =None): self.kC

2017-11-22 16:42:34 3454

原创 urllib.parse.quote与decodeURIComponent的完美配合

如何优雅的把副文本编辑器的内容(HTML格式)入库,并在之后加载回前端编辑器?我们都知道编辑器的内容经常包含很多单引号、双引号等,因此,我们需要对内容进行编码,那我们就想到了escape和unescape。b=escape(a)"%3Cp%3E%22select%20count%281%29%20%22%u603B%u6570%22%2C%3C/p%3E%3Cp%3E%26nbsp%3Bsum

2017-11-22 15:17:55 755

原创 GitHub目录下载

有时只想下载GIthub上某个大项目下面的一个文件夹,真心麻烦,还要把整个项目clone下来,当然也有使用svn项目检出功能的。本人不喜欢安装太多软件,就用python写了一个脚本来完成。from bs4 import BeautifulSoupimport requests, os, sys, timeclass DownloadDir(object): def __i...

2017-11-15 14:17:50 507

原创 Python爬取双色球数据进行分析

突发奇想,是否可以从双色球的历史信息中分析出现次数最多的组合,那就从1+1的组合开始分析,嘿嘿,经常中这种组合也挺不错哦!现在我们开始获取数据,应该从中彩网的爬取数据比较靠谱,下面是脚本。# -*- coding:utf-8 -*-import requests, bs4import os, timeimport operatorfrom itertools import combinati

2017-11-09 15:26:05 7850 4

原创 Sed命令n,N,d,D,p,P,h,H,g,G,x解析

sed执行模板=sed ‘模式{命令1;命令2}’ 即逐行读入模式空间,执行命令,最后输出打印出来.p打印当前模式空间所有内容,追加到默认输出之后;P打印当前模式空间开端至\n的内容,并追加到默认输出之前。 Sed并不对每行末尾\n进行处理,但是对N命令追加的行间\n进行处理,因为此时sed将两行看做一行。n和N命令1) n命令简单来说就是提前读取下一行,覆盖模型空间前一行,然后执行后续命令。

2017-11-06 23:21:44 3107

原创 AWK之分组聚合

AWK分组统计功能很强大,我们以下面的数据做几个实验给大家展示一下效果。

2017-11-06 22:45:12 4488

原创 一键RAC环境配置脚本

工作中经常要搭建RAC环境,所以用shell写了一个一键RAC环境配置脚本以简化重复性的工作。下面的脚本是在CentOS/RHEL 6的环境测试无问题。脚本分三个文件: - AutoRAC.sh 一键RAC主程序 - AutoRAC.conf RAC环境的配置文件 - Software.conf RAC环境的安装包配置文件AutoRAC.sh 内容如下:#! /b

2017-11-06 22:18:52 1061 1

原创 RMAN高级应用之Duplicate复制数据库

1、前期准备   1)orapwd file=D:\oracle\product\10.2.0\db_1\database\PWDDUP.ora password=medical entries=10      ----entries - maximum number of distinct DBA and force - whether to overwrite existing fil

2013-07-30 19:26:55 731

sed awk高级编程案例

sed awk高级编程案例,大量的sed awk等命令的实现功能对比,让你使用shell更好的融汇贯通

2014-08-09

PLSQL DEV 11注册码

内附PLSQL DEV 11注册码,绝对可用

2016-03-02

空空如也

空空如也

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

TA关注的人 TA的粉丝

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