天使羊波波闪耀光芒 软件及互联网爱好者

177月/170

oracle 创建索引 create index online

普通创建索引的命令create index会先锁表,然后再创建索引,如果表中数据量很大,会造成阻塞DML语句。

加了online后,可以以非独占的方式创建和删除索引。

但是加online字段有一些限制:
ONLINE
Specify ONLINE to indicate that DML operations on the table will be allowed during creation of the index.

Restrictions on Online Index Building
Parallel DML is not supported during online index building. If you specify ONLINE and then issue parallel DML statements, Oracle returns an error.
You cannot specify ONLINE for a bitmap index or a cluster index.
You cannot specify ONLINE for a conventional index on a UROWID column.
For a unique index on an index-organized table, the number of index key columns plus the number of primary key columns in the index-organized table cannot exceed 32.

参考资料:
http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_5012.htm

285月/170

朋友圈

微信状态:
1、朋友仅展示最近半年的朋友圈
设置 - 隐私内选择的

2、朋友圈是一条线和一点
被删除了,或被屏蔽了朋友圈(发消息没有提示被对方拒收,也没有提示发送好友验证)

3、好友-详细资料没有相册这一栏
对方关闭了朋友圈功能

252月/170

[转]戒指国际佩戴含义说法

按西方的传统习惯来说,左手显示的是上帝赐给你的运气,因此,在西方国家,戒指通常戴在左手上。不佩戴戒指表示单身。西方早期医学认为,左手无名指在双手十指中与心脏的距离最近,所以将代表婚姻的戒指戴在左手无名指上,珠宝进而体现出爱情的神圣地位,并流传至今。
  简单记忆法,其实很好记的,四个字,清热解毒。
  食指、中指、无名指、小手指依次为青(年)、热(恋)、结(婚)、独(身)。
  关于左手
  1、食指--未婚、想结婚 ; 
  2、中指--已经在恋爱中 ; 
  3、无名指--已经订婚或结婚;
  4、小手指--单身贵族(少数地区亦代表同性恋者)。
  关于右手  
  只有无名指戴戒指有特殊含义,是表示具有修女的心性。
  关于大拇指
  西方的审美观念上,戒指戴在大拇指上是十分奇怪的,不仅不美观,且影响手部运动,所以西方人很少将戒指佩戴在大拇指上。

食指 :清,请追求我
中指 :热,热恋中
无名指:解,结婚了
小指 :毒,独身主义
从上往下,清热解毒

252月/170

C语言北京时间转为格林威治时间

北京时间比格林威治早8个小时,思路是先将北京时间转换为距1970年1月1日0点的秒数,然后在转换成服务器本地时区的格林威治时间。

例子程序 gmttime.c:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

int main(void)
{
printf("--------------\n");
char ori_time[14+1];
char tmp_year[4+1];
char tmp_month[2+1];
char tmp_day[2+1];
char tmp_hour[2+1];
char tmp_min[2+1];
char tmp_sec[2+1];
char sCurrentTime[15];
struct tm tmCurrentTime, *gmCurrentTime;
time_t gmt;

memset(ori_time, 0x00, sizeof(ori_time));
memset(tmp_year, 0x00, sizeof(tmp_year));
memset(tmp_month, 0x00, sizeof(tmp_month));
memset(tmp_day, 0x00, sizeof(tmp_day));
memset(tmp_hour, 0x00, sizeof(tmp_hour));
memset(tmp_min, 0x00, sizeof(tmp_min));
memset(tmp_sec, 0x00, sizeof(tmp_sec));
memset(sCurrentTime, 0x00, sizeof(sCurrentTime));

memcpy(ori_time, "20170225132901", 14);
printf("ori_time: %s\n", ori_time);

//取年
memcpy(tmp_year, ori_time, 4);
printf("year: %s\n", tmp_year);
tmCurrentTime.tm_year = atoi(tmp_year);
tmCurrentTime.tm_year = tmCurrentTime.tm_year - 1900;
//取月
memcpy(tmp_month, ori_time+4, 2);
printf("month: %s\n", tmp_month);
tmCurrentTime.tm_mon = atoi(tmp_month);
tmCurrentTime.tm_mon = tmCurrentTime.tm_mon - 1;
//取日
memcpy(tmp_day, ori_time+6, 2);
printf("day: %s\n", tmp_day);
tmCurrentTime.tm_mday = atoi(tmp_day);
//取时
memcpy(tmp_hour, ori_time+8, 2);
printf("hour: %s\n", tmp_hour);
tmCurrentTime.tm_hour = atoi(tmp_hour);
//取分
memcpy(tmp_min, ori_time+10, 2);
printf("min: %s\n", tmp_min);
tmCurrentTime.tm_min = atoi(tmp_min);
//取秒
memcpy(tmp_sec, ori_time+12, 2);
printf("sec: %s\n", tmp_sec);
tmCurrentTime.tm_sec = atoi(tmp_sec);
//转换为秒
gmt = mktime(&tmCurrentTime); //time_t 转换为 tm
//转换为格林威治时间
gmCurrentTime = gmtime(&gmt); //tm 转换为 time_t
sprintf(sCurrentTime, "%4d%02d%02d%02d%02d%02d",
gmCurrentTime->tm_year + 1900, gmCurrentTime->tm_mon + 1,
gmCurrentTime->tm_mday, gmCurrentTime->tm_hour,
gmCurrentTime->tm_min, gmCurrentTime->tm_sec);
printf("gmt_time: %s\n", sCurrentTime);

printf("--------------\n");
return 0;
}

其中mktime将时间转换为秒数,gmtime将秒数转换为服务器本地时区对应的格林威治时间。

231月/171

win10简单设置

1、桌面显示我的电脑等图标
右键 - 个性化 - 主题 - 桌面图标设置

2、显示文件扩展名
驱动器工具 - 查看 - 文件扩展名

3、删除文件时提示是否删除
回收站 - 右键 - 属性 - 显示删除确认对话框

4、界面背景模糊(惨白惨白的)
1)右键 - 显示设置 - 更改文本、应用和其他项目的大小:推荐125%
2)右键 - 英特尔显卡设置 - 颜色设置
亮度:-20
对比度:50
色调:0
饱和度:0
色域:自然色彩
3)桌面右键-显示设置-当前对话框-高级设置-分辨率下方-颜色校准
校准显示器颜色,调整伽玛值
PS:基本上调了对比度后,字能看清楚了

5、关闭快速启动
设置 - 电源和睡眠 - 其他电源设置 - 选择电源按钮的功能 - 去掉启用快速启动

6、磁盘清理
右键C盘 - 属性 - 磁盘清理

7、进入安全模式
设置 - 更新和安全 - 恢复 - 高级启动点立即重启
待重启后选择:
疑难解答 - 高级选项 - 启动设置 - 按4启用安全模式

分类: 生活 1个评论
11月/170

上海三打一(斗地主)规则

1、叫地主
谁先抽到标记牌,谁先叫地主,玩家轮流叫档,可以选择叫“1档”、“2档”、“3档”或者“不叫”档。
所叫的档数必须比上一家高,叫档最高的玩家成为地主。

2、地主叫分
一档:叫1分,赢牌共得3分
二档:叫2分,赢牌共得6分
三档:叫3分,赢牌共得9分

3、荒番局
如果没有任何一个玩家叫档,则开始下一局,下一局为荒番局。

4、头撩(头撂)
第一个叫分的人直接做地主,记4分,赢牌共得12分。

5、摊打
只有出现“头撂”情况,那么本局地主得到底牌后,地主可以选择是否“摊打”。(如果选择“摊打”,其他三家可以看到地主手中的牌)。

6、框牌
不成对的牌。

7、牌型说明
1)天王炸弹:四张王牌。
2)炸弹:4—8个牌点一样的牌。
3)单牌:单个牌。
4)对牌:牌点相同的2张牌,两个小王或两个大王也算对子牌型。
5)三张:牌点相同的3张牌(不包括三张王,三张王只可以当一对和单张)。
6)三带二:点数相同的三张牌 + 一对牌,(三牌的牌点必须和所带的对牌牌点不同)
7)单顺:5张或5张以上牌点连续的牌。其中A即可以连在K后,又可以连在2前,即可以出现14张牌的顺子:A、2、3、4~K、A(注:这种14顺是最大的顺子。但不可出JQKA2。
8)双顺(姊妹对、姐妹对):3对或3对以上牌点连续的对牌
9)三顺:2个或2个以上牌点连续的三牌
10)飞机带翅膀:多个三带二的牌,要求所有的三条牌为牌点连续的牌,同时对牌也必须为牌点连续的牌

2412月/160

篮球场位置和规则

1、NBA记分牌下方有一行7格横条,有黄色有红色的
黄色表示剩余暂停数,一格代表一次

2、有时分数下面会有“BONUS”字样
bonus是指该球队已经达到一定的犯规状态,如果再犯规,无论是不是投篮犯规都要执行罚球的。

bonus触发条件有:
1)单节第四次犯规
2)每节最后2分钟的第一次犯规
3)加时赛第三次犯规

3、常见犯规
24秒钟规则:进攻球队在场上控球时必须在24秒钟内投篮出手。
8秒钟规则:球队从后场控制球开始,必须在8秒钟内使球进入前场(对方的半场)。
5秒钟规则:持球后,球员必须在5秒钟之内掷界外球出手,FIBA规则规定罚球也必须在5秒钟内出手。
3秒钟规则:分为进攻3秒和防守3秒。进攻3秒:进攻方球员不得滞留于3秒区3秒以上;防守3秒:当某防守方球员对应的进攻方球员不在3秒区或者3秒区边缘、且彻底摆脱防守球员时,防守方球员不得滞留禁区3秒以上(FIBA无防守3秒)。
球回后场:球队如已将球从后场移至前场,该球队球员便不能再将球移过中线,运回后场。
走步:运球过程当中出现三步没运,没传,没投,也就是球没离手的情况。
跃起:在跳起的时候没有将球投出或传出,脚步落地。
打手:持球方在停球,运球或上篮,投篮的时候,对位方的手接触到持球方的手和小臂部位。
带球撞人:持球方在攻入对方禁区,或运球途中,防守方脚步无移动,而持球方用身体撞击防守方,属于带球撞人。
防守犯规:主要是持球方在运球或上篮中,防守方出现脚步移动并与持球方发生身体碰撞,或拉,拽等接触身体方式扰乱持球方运球或上篮。
压跳:进攻方起身投篮或上篮的同时,防守方如果出现身体下压或碰撞进攻方,属于压跳。

4、球员位置
篮球分为12345号位置。

1号位:控球后卫(Point Guard)PG
2号位:得分后卫(Shooting Guard)SG
3号位:小前锋(Small Forward)SF
4号位:大前锋(Power Forward)PF
5号位:中锋(Center)C

PS:现在NBA球队有的对位置已经比较模糊了,像勒布朗詹姆斯除了中锋之外其他位置都可以打。有的球队中锋还可以拉到外线投三分,而且很准。

5、技术犯规
技术犯规是指所有不包括与对方队员接触的队员犯规。队员不得漠视裁判员的劝告或运用不正当的行为。
1)判给对方队员两次罚球及掷一次界外球(所谓的两罚一掷)
2)技术犯规不算在普通犯规内,但技术犯规满2次即被罚下场

2112月/160

Oracle sum字段报错 ORA-01722: invalid number

有一个sql要统计多个字段的sum值:

select card_accp_id c1,date_settlmt_8, sum(amt_trans), sum(mcht_fee), sum(host_trans_fee1)
from bth_new_gc_txn_succ where date_settlmt_8 > '20160101' group by card_accp_id,date_settlmt_8

执行报错:

14:14:36 [SELECT - 0 row(s), 0.000 secs] [Error Code: 1722, SQL State: 42000] ORA-01722: invalid number
... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.000/0.000 sec [0 successful, 0 warnings, 1 errors]

解决:
原因是sum字段有空格,在host_trans_fee1上加个trim()

结果:

select card_accp_id c1,date_settlmt_8, sum(amt_trans), sum(mcht_fee), sum(trim(host_trans_fee1))
from bth_new_gc_txn_succ where date_settlmt_8 > '20160101' group by card_accp_id,date_settlmt_8

sum字段如果遇到有记录为非number会报错

2010月/160

Linux下SHA256计算哈希值和RSA加密

项目中遇到系统之间文件传输要使用SHA256 with RSA1024加密,计算签名。详细了解了一下。

1、SHA256
哈希算法用于计算信息摘要。因为md5和sha1有被碰撞和破解的可能性,所以使用sha256。

1.1、使用sha256sum命令计算哈希值
输入:一个文件或一个字符串
输出:SHA256输出256bit,32个字节,显示为64个16进制字符

1)当对字符串计算哈希值时,字符串不变,计算出的哈希值结果是一致的
2)当对两个文件计算时,文件生成时间不同,但文件内容相同,计算出的哈希值是一致的
3)当对两个相同内容的文件,分别打包压缩成tar.gz格式后,计算出的哈希值结果不一致
应该是在tar打包压缩时,添加了随机数,造成两个文件的哈希值不一致

2、RSA加密
RSA每次生成的密文都不一致?
公钥相同,明文相同,每次RSA加密的结果都不一致。因为RSA算法,加密前对明文进行了随机数填充,解密的结果不会受到影响。

输入:一个文件或一个字符串
输出:RSA 1024输出密文1024bit,128个字节的16进制字符

因为RSA key长度是1024,所以输出的密文也是1024吗?

259月/160

9月25日

最近把半年前一部大热的电视剧《欢乐颂》看完了,有几段剧情拍的真现实。比如:樊胜美的父母带着她的侄子投奔到她住的地方,然后樊爸突发脑溢血,住院需要手续费,就樊妈哪个德行还要樊胜美借钱,最后在22楼众人的帮助下把她哥的房子卖了,填补医药费,否则对樊胜美来说就是一个无底洞啊。后面送樊爸出院对付讨债的人,安迪拿防狼喷雾剂,小曲拿小刀,关关拿了把菜刀,哈哈哈。这部剧里我比较喜欢到咖啡店工作后的邱莹莹,感觉智商回来了,性格有点一根筋,但是活的很自在。
然后近况还是上班下班,工作忙想研究研究技术吧,回家不想动脑子。。。另外看到这波上海房价涨幅,有点想买房子的念头了,自住用。其实我平时不怎么花钱,28岁买了第一双正版耐克鞋,29岁买了第一双正版阿迪达斯鞋,30岁看了人生第一场明星演唱会,再做2、3年大学毕业10年了,到那时不管有没有女朋友,不管有没有结婚,必须要撸一套房子,上海人不买房和咸鱼有什么区别。唉~~~

第 1 页,共 45 页12345...102030...末页 »