8 DataCareer

尚未进行身份认证

Python爱好者,数据科学家

等级
TA的排名 7w+

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

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

2019-11-25 09:11:06

Python实现超时装饰器

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

2019-08-14 13:06:14

TypeError: can't pickle _thread.RLock objects

"D:\ProgramFiles\Python36\python.exe"E:/工作文件/Project/pycrontab/test.pyTraceback(mostrecentcalllast):File"E:/工作文件/Project/pycrontab/test.py",line9,in<module>

2018-07-24 16:26:39

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

SQL格式化工具

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

2018-04-28 14:34:26

GitLab自动部署(CI)

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

2018-04-20 13:22:59

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

Linux下的权限(RWX)详解

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

2018-03-30 13:45:39

Git取消配置文件的跟踪

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

2018-03-22 14:58:33

Windows下获取已安装应用程序

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

2018-03-21 15:58:20

find与ls命令合体坑总结

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

2018-01-16 16:16:40

GitHub中GPG认证使用

1.打开本地的gitbash命令窗口,执行gpg–gen-key:gpg--gen-keyPleaseselectwhatkindofkeyyouwant:(1)RSAandRSA(default)(2)DSAandElgamal(3)DSA(signonly)(4)RSA(signonly)Yourse

2018-01-14 19:20:24

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

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

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

Python实例管理

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

2017-12-27 23:38:40

Pycharm取消py脚本中SQL识别

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

2017-12-26 14:53:56

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

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

Oracle expdp/impdp测试库搭建过程

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

2017-12-25 00:16:57

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。