自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 一些工作总结

工作中的一些总结,整理成文字

2017-01-16 21:30:44 1817

原创 一直在DEBUG整理

把自己在做项目,改BUG中的一些收获和心得整理在这里

2015-11-12 16:55:53 678

原创 被忽视的数据字典

# 一、写在前笔者认为借用关系型数据库的数据字典,可以做不少有意思的事情,解决一些工作中遇到的问题,做一些半自动化、自动化的工作时可以使用到它们。笔者也认为大多数人并未重视过它们,或者深挖过它们的一些好处。# 二、数据字典的一些概念这段比较乏味,解释一些概念,主要还是拷贝自百度百科。> 数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中

2021-07-05 22:38:48 186

原创 不要再用count(1)来判断是否有数据了

一、经常看到的现象判断符合条件的某种数据是否存在,如果存在,就进行相关业务。这种业务场景挺常见的。为了实现这种需求,我们经常看到这种代码,假设ORM框架用的是MyBatis。伪代码大致如下:mapper.xml:select count(*) as dataCnt from table where condition;Java:int num = xxDao.countXxByXxx(params);if ( num > 0 ) {    //当存在,就

2021-04-23 12:40:49 995

原创 巧用Oracle的BITAND函数

文章目录一、函数介绍二、应用场景三、相关设计方案3.1 设计示例13.2 设计示例2四、数据使用方案五、总结一、函数介绍返回两个数值型数值在按位进行 AND 运算后的结果。语法BITAND(nExpression1, nExpression2)举例-- 以下返回结果分别为1,0,4-- 分析,如BITAND(12,4),将两个入参二进制化,即1100与100,进行位与操作结果为100,转化为十进制即为4SELECT BITAND(3,1),BITAND(11,4),BITAND(12,4)

2021-01-04 10:08:08 1804

原创 Oracle分析函数

文章目录一、背景二、创建测试数据2.1 测试数据创建脚本2.2 测试数据详情三、相关需求及SQL示例3.1 统计当季总处置金额3.2 统计当季初至当月累计处置金额3.3 统计每月与上月的变动额四、其它参考资料五、我的学习心得一、背景分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值。在本文,我会通过几个小需求,介绍一些分析函数的用法,以及我的一些学习心得。对于函数更详尽的用法,可参考本文第四点。

2021-01-04 10:05:22 162

原创 安装Oracle JDK 8

文章目录一、获取安装包二、安装三、编辑环境变量四、多JDK的切换五、参考PS:这篇文章没啥好看的,就是注意一下下文的多JDK切换,这个可能不少朋友以前没有遇到过^^一、获取安装包可通过wget方式去Oracle官网获取下载链接也可以自行下载好rpm包之后,传到服务器我这里是采用下载rpm包之后,传到服务器二、安装用root登陆,进入到rpm包所在位置yum localinstall jdk-***.rpm三、编辑环境变量用root登陆,进入/root,vi .bash_profile修

2021-01-04 09:59:18 884

原创 谈谈关于枚举类型数据的数据治理

文章目录一、背景二、治理方案三、其它四、数据工作经验分享五、补充一、背景不知道大家在IT系统建设过程中,有没有遇到过类似情况。流量明细表,有一个字段是流量入口。这个字段的枚举类型曾经为:00表示app启动弹框,01表示顶部banner,02表示中通广告位。后来这个月重新发版之后,新增了枚举——03表示筛搜广告位。我们有一张流量统计报表,该报表可能有以下字段,流量入口中文名称、入口点击pv、入口点击uv……在写这个报表可能会有类似的sql:selectcase when utm_source='0

2021-01-04 09:57:03 460 1

原创 Redis开发规范

文章目录一、键值设计1.key名设计【强制】以英文字母开头,命名中只能出现小写字母、数字、英文点号.和英文半角冒号:【强制】不该使用含义不清的key以及特别长的key名【强制】禁止使用Redis保留字命名key【强制】命名规范:业务模块名:业务逻辑含义:其他【推荐】简洁性2.value设计【强制】拒绝bigkey【强制】禁止在Redis中存储敏感的明文数据【推荐】选择适合的数据类型3.【强制】关于过期时间二、命令使用1.【推荐】 O(N)命令关注N的数量【强制】严禁对 zset 的不设范围操作【强制】严禁对

2021-01-04 09:55:00 142

原创 Linux账号密码过期会导致crontab作业不能执行

文章目录一、结论二、相关验证脚本为用户创建crontab作业将用户状态设置过期将用户恢复正常三、补充一、结论Linux账号密码过期会导致crontab作业不能执行。二、相关验证脚本为用户创建crontab作业首先新建一个用户putong,为其创建一个crontab作业,该作业每分钟执行一次,打印出当前时间到某个文本文件。echo '* * * * * date>>~/crontab_result' > crontab_contentcrontab crontab_conten

2021-01-04 09:53:15 2465

原创 数据RD系列-求历史节点访问列表

文章目录一、背景二、解决方案2.1 数据创建模拟脚本2.2 数据需求方案脚本2.3 需注意的几个点一、背景需求如下:有一张表,暂且称之为“用户访问节点表”(为节省篇幅,下文简称该表为visited表),表字段及数据示例如下:username用户old_city原城市new_city新城市dt发生日期zhangsanAB20200101zhangsanBC20200201zhangsanCA20200301比如dt=20200101这条数据,

2021-01-04 09:51:01 198

原创 读《机器变矿机的一次经历》收获

文章目录一、原文《服务器成挖矿工具了怎么办?记一次解决经历!》二、收获三、实验方案及相关脚本1. 准备环境2. 攻击机操作步骤四、Linux命令学习1. chattr2. systemctl status3. /proc/进程号一、原文《服务器成挖矿工具了怎么办?记一次解决经历!》原文来自于公众号macrozhenghttps://mp.weixin.qq.com/s/S_v0CIKwKPQ_q0btslJESw这篇文章,里边的攻击者用到的是一个多年前就有提到的Redis漏洞。接下来分享一下我做

2021-01-04 09:48:01 118

原创 数据RD系列-巧用1=1的连接条件搞事情

文章目录一、背景二、解决方案2.1 解决方案相关脚本2.2 需注意的几个点一、背景需求如下:整理出一大段SQL语句,比如形成2020年1月份的一段SQL。insert into table1(data_date) select '20200101' from dual;insert into table2(data_date) select '20200101' from dual;insert into table1(data_date) select '20200102' from dual

2021-01-04 09:33:31 447 1

原创 关于Linux使用的一些分享

文章目录一、换行符&编码二、备份配置文件三、权限相关四、查看日志的套路五、尽量用一手官方资料&英文还是要好一些六、一些习惯分享七、一些小技巧分享基于我个人使用Linux的经历,以及观察周围同事使用Linux时的一些习惯等,整理出这篇文章。其实没有太多技术含量。一、换行符&编码从它处复制了一串命令,命令其实并非在一行的,执行时发生报错。举个例子curl 服务 -d {我是json串}。我以为自己复制的是一行语句,其实是多行,结果执行时一直curl不成功,一直抓狂中。crlf和

2021-01-04 09:30:52 112 1

原创 MySQL的DENSE_RANK有关的一道SQL需求

1 需求背景遇到一个需求是这样的,对学生的成绩进行排名,成绩为0的,排名值为null。成绩大于0的,如,3、3、2、1,排序出来为1、1、2、3。如图 这就是一个dense rank的需求,另外比较麻烦的是要处理成绩为0的情况。2 解决方案解决方案如图: 3 相关脚本drop table myt;create table myt as select 3 scoreunion

2017-09-17 17:21:25 3728

原创 由于SELinux开启造成的Apache 2 Test Page powered by CentOS

环境OS:CentOS 6.7 httpd:Server version: Apache/2.2.15 (Unix)我的需求暴露81端口,映射操作系统中/data/swagger文件夹(该文件夹是一个静态WEB)。遇到问题启动httpd之后,访问ip:81,总是报Apache 2 Test Page powered by CentOS。解决方案找了很久,说是把SELinux的状态改一下就可以。

2017-08-28 20:40:00 2921

原创 pandas or sql计算前后两行数据间的增值

遇到这样一个需求,有一张表,要给这张表新增一个字段delta,delta的值等于每行的c1列的值减去上一行c1列的值。 我的解决方案,可以通过python的pandas的diff来实现,也可以通过sql来实现,如下import pandas as pdsrcTable = pd.read_csv('pos1.csv')print(srcTable)destTable = srcTable.lo

2017-07-19 14:44:25 4449 1

原创 python code segment daily collect

2017/7/8 11:30:54我有这么一个需求:需要按某个通配符遍历某文件夹,并按文件名中的指定数字升序排序。用glob包可以很好的实现我的需求。

2017-07-08 11:54:21 1352

原创 MYSQL大小写及校验集有关的一些知识整理

参数lower_case_file_systemmysql校验集collattion让查询字符串时大小写敏感的方法校验集中的unicode与general区别

2017-06-30 11:51:13 1312

原创 七牛删除存储空间中指定条件的文件

我用的是七牛自带的一个qshell工具;相关文档在https://developer.qiniu.com/kodo/tools/1302/qshell 都有问我是怎么找到这个东西的呢,自然是充分利用搜索功能(不过这个搜索出来的结果在结果集很后面,一小心就遗漏了)1.下载七牛官方的qshell工具,https://developer.qiniu.c

2017-04-17 17:31:22 4365 1

原创 MongoDB CouchDB CouchBase性能评测报告

一.功能特性比对1.数据查询操作这个区别在用户接口上了,MongoDB 与传统的数据库系统类似,支持动态查询,即使在没有建立索引的行上,也能进行任意的查询。而 CouchDB 不同,CouchDB 不支持动态查询,你必须为你的每一个查询模式建立相应的view,并在此view的基础上进行查询。2.RESTCouchDB 是一个RESTFul 的数据库,其操作完

2017-01-16 20:52:34 8104 1

原创 源表含时间戳、做逻辑删除的情况,数据同步ETL方案分享

要求至少半小时会同步一次数据。下面是我的方案图。我觉得比较鸡肋的是,我的stage库表里每次存的只是本轮同步中新增的数据,若本轮没有任何新增的数据,那么stage对应的表就是空的。其实一开始我很想设计出一个source表的副本库,存的是一模一样的数据。但是想到这个副本库可能要经历全删全增,频繁的短时间的读写会带来整体的性能下降,我就放弃了。还想把stage库作为2次开发库,通过它能

2016-03-24 22:56:56 2340

原创 无唯一性字段情况下,双表关联更新数据方案

需求是:公司早先在另一个数据源D1整合了一套数据到项目中,如下文player数据,现又在新数据D2采集了一套新数据,想用D2的数据值更新公司现项目,要保留现项目的表id。项目中的数据id用的是数据源D1的,针对player表,如下图,D1、D2该表均无唯一性标注字段,只能通过姓名勉强匹配。D1、D2中均有2条梅西的数据,实际上需将D2中id为3的数据更新到D1中id为1的梅西数据。

2016-03-24 22:45:50 3723

原创 实时同步,增量ETL方案分享(源表含时间戳,做逻辑删除)

数据源、中间库、目的库均为MySql,ETL工具为kettle(General Availability Release-Version 6.0.1.0-386)1.源表有一个updated_time时间戳字段,java代码中每更新一条数据,就会用当前时间更新该时间戳。源表只做逻辑删除,即数据的status字段值置为0。2.我的方案如下:2.1暂定源表到目的表不做任

2016-03-17 12:01:09 13824 2

原创 REST Client组件例子,及获取数据api的一些知识

通过该组件可以访问该地理位置API。其URL为http://api.map.baidu.com/geocoder?address=%E5%8C%97%E4%BA%AC&&output=json&src=web在浏览器输入该URL,可以获得返回的JSON数据{    "status":"OK",    "result":{        "location":{ 

2016-03-16 21:33:51 16071 9

原创 解决DB2的一个BUG收获(SQLCode=-805, SQLState=51002, error message=DB2 SQL Error: SQLCODE=-805, SQLSTATE=5100

红色字是重点。一、最近碰到一个DB2 bug,Fatal error found. SQLCode=-805, SQLState=51002, error message=DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002, SQLERRMC=NULLID.SYSLH203 0X5359534C564C3031后来是找同事帮忙,在这篇帖子

2015-11-12 16:58:05 12005

原创 dom4j中selectNodes无法获得节点

原文转自http://blog.csdn.net/memray/article/details/7525122没想到搞个dom4j会出这么多怪错。。      最近在研究XBRL GL的有关内容,在项目中要求吧XBRL GL导入到11179注册库中,根据11179建立数据库,然后从XBRL GL分类标准中导入数据到数据库。在导入过程中需要用到dom4j来读取XBRL GL文件,用selec

2015-11-12 16:53:52 3362

原创 润乾报表URL传参捕获不成功的BUG解决方案

这几天遇到一个这样的问题。A.JSP里有一段URL入参 url=…….jsp?dealerInfoId=***&arg=***,B.JSP里代码段request.getParameterNames()接收得到dealerInfoId的值。同时B.JSP里集成了润乾报表,相关代码如下:            "                needSubmit=

2015-07-18 17:39:27 2300

原创 primary key与unique

重点看4和5,1到3关于这两个的差别,网上有更详细的介绍。1.一张表只能有一个primary key键,可以有多个unique键。primary key键对应的字段不可为空,数值上不能有重复值。unique键对应的字段可为空,数值上允许插入多行空值,但非空值的数据不能相同。举个例子:primary key键可以用于身份证,因为公民都有身份证,且不重复。unique键可用

2014-12-06 22:48:38 1080

原创 SQL语句中位与选择项的使用

有这么一张表enroll,表示学生的选课情况,学生2选的课程是JAVA、PYTHON,学生1选的课程是JAVA、PYTHON、C,学生2选的课都被学生1选了,就打印出(2,1),本例中符合答案的还有(3,1),用一条SQL把结果打印出来。答案是(2,1)(3,1)下面是我的解题过程和思路:我们先定义数据选择项。把JAVA、PHTHON、C

2014-05-12 23:55:06 1143 1

原创 工作总结 每天进步一点点。

用关键字记录一些工作中的学习收获和心得。2012年8月28日1.我可以认为delete表后,那个啥高水位不变。原因是:delete并没有真正删除,只是把块标记一下?发现只有delete的才能 这样子还原INSERT INTO emp  SELECT * FROM emp AS OF SCN 5176861;如果用truncate删除的。。。再用SCN去还原的话。。就说无法读取数

2012-06-04 17:31:42 2933 1

原创 这段时间做ACM题的收获

最好要初始化变量strrevstrcpystrcmpstrchr 在一个串中查找给定字符的第一个匹配之处strcat 字符串拼接函数strncmpi 把串中的一部分与另一串中的一部分比较,不管大小写 这个有些用哈!!strncmp ccc>bbbccc 好久没有做题了。AC完题目之后那种熟悉的成就充实感觉让自己很回味,我喜欢。总结下最近的收获1.brea

2012-02-20 11:13:45 827 1

原创 学习笔记及一些心得

<br />4月10号课的笔记 先放这,下次学习后再修改<br /> <br />1、>=比>更高效<br />是数值的时候就不要用''去匹配<br />2、between and 有没包括边界? 回答:有。<br />dual是什么<br /><br />3、select initcap('hello hello world') from dual; 将开头的字母大写化!<br />Go Go come on!!!!!<br />4、any all 的使用<br />5、mount<br />select

2011-04-11 23:01:00 705

转载 基于Windows 7旗舰版搭建WinCE6.0开发环境的过程

转自http://www.cnblogs.com/we-hjb/archive/2010/08/23/1806092.html首先感谢JeffreyLi提供了更简便的安装WinCE6.0 R3的方法,今天验证过了,确实比我之前整理的《WinCE6.0 R3的安装步骤》方便很多,十分感谢!      为了方便大家参考,重新整理的安装步骤如下: *         Please install the following software in order            Visual Studio 20

2011-03-26 18:19:00 1304

原创 learn and day day up

<br />2011/1/31<br />1.我是用虚拟机装的Ubuntu linux 系统,我在linux下复制一段文字如”hello world”,我退出回到windows。我粘贴,粘贴的内容并不是我之前复制的”hello world”,而是其它的。我觉得两个系统对内存的操作是独立的,我这样的理解对么?<br />2.我在linux系统下操作一个odt文件,我同时打开它的properties查看文件大小size。当我修改完该odt文件后,properties对应也会立即显示修改完之后的新属性。<br /

2011-01-31 15:21:00 663

原创

2010年7月29日今天很晕,不知道要怎么学JAVA,现在在看有关继承的知识点,自己写的代码总是有错,贴上来一下。class Animal{ public int legNum; public Animal(int legNum){  this.legNum = legNum; } public int getlegNum() {  return legNum; } public void setlegNum(int legNum) {  this.legNum = legNum; }}class Bird

2010-07-29 22:17:00 618

原创 day day up

2010年7月11日1.float f1=63.141512315464f;//收获:只能到63.1414122.//方式1  System.out.println("age=" + age + " name=" + name + " other=" + other);  //方式2  System.out.println(String.format("age=%d name=%s other=%d",age,name,other))3. char ch1='a'; ch1-=32; System.out.

2010-07-11 16:21:00 1448

空空如也

空空如也

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

TA关注的人

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