小编Ike*_*ker的帖子

在Linux上使用bash获取昨天的日期,DST-safe

我有一个在Linux上运行的shell脚本,并使用此调用以YYYY-MM-DD格式获取昨天的日期:

date -d "1 day ago" '+%Y-%m-%d'
Run Code Online (Sandbox Code Playgroud)

它大部分时间都可以工作,但是当脚本在昨天早上运行时,2013-03-11 0:35 CDT它返回"2013-03-09"而不是"2013-03-10".

大概是夏令时(从昨天开始)应该归咎于.我猜的方式"1 day ago"来实现它减去24小时,前24小时2013-03-11 0:35 CDT2013-03-09 23:35 CST,这导致的结果"2013-03-09".

那么,什么是一个很好的DST安全方式来获取昨天在Linux上使用bash的日期?

linux bash

142
推荐指数
7
解决办法
15万
查看次数

如何删除Cassandra列族中的所有数据?

我正在寻找一种方法来删除cassandra中给定列族的所有行.

这相当于TRUNCATE TABLESQL.

cassandra

54
推荐指数
3
解决办法
6万
查看次数

获取昨天的Python日期,DST-safe

我有一个python脚本,使用此调用以YYYY-MM-DD格式获取昨天的日期:

str(date.today() - timedelta(days=1)))
Run Code Online (Sandbox Code Playgroud)

它大部分时间都可以工作,但是当脚本在今天早上运行时2013-03-11 0:35 CDT它返回"2013-03-09"而不是"2013-03-10".

大概是夏令时(从昨天开始)应该归咎于.我想办法timedelta(days=1)实现减去24小时,前24小时2013-03-11 0:35 CDT2013-03-09 23:35 CST,这导致的结果"2013-03-09".

那么在python中获取昨天日期的DST安全方法是什么?

更新: 在bukzor指出我的代码应该正常工作之后,我回到脚本并确定它没有被使用.它设置了默认值,但是包装器shell脚本显式设置了日期.所以bug在shell脚本中,而不是python脚本.

python

25
推荐指数
3
解决办法
3万
查看次数

如何解密MySQL密码

创建我公司使用的平台的开发人员不再为我们工作,我不知道如何从自定义PHP应用程序中检索密码

当我查看PHPmyAdmin时,密码是ecrypted(例如*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19)

我该如何更改或检索这些?

mysql

17
推荐指数
3
解决办法
24万
查看次数

配置redis以首先逐步驱逐旧数据

我在redis中存储了一堆实时数据.我在所有按键上设置了14400秒(4小时)的TTL.我已经将maxmemory设置为10G,目前没有足够的空间来容纳4小时的内存数据,而且我没有使用虚拟内存,因此redis在数据到期之前将其逐出.

我很好用redis驱逐数据,但我希望它首先驱逐最旧的数据.所以,即使我没有整整4个小时的数据,至少我可以有一个不带间隙的某一范围的数据(3小时,2小时等).我试图通过设置来实现这一目标maxmemory-policy=volatile-ttl,因为他们认为最旧的密钥会被驱逐,因为它们都具有相同的TTL,但它不是那样工作的.似乎redis有点随意地驱逐数据,所以最终我的数据存在差距.例如,今天2012-01-25T13:00的数据在2012-01-25T12:00之前的数据被逐出.

是否可以将redis配置为始终首先逐出旧数据?

以下是我的redis.cnf文件中的相关行.如果您想要查看更多的配置,请告诉我们:

maxmemory 10gb
maxmemory-policy volatile-ttl
vm-enabled no
Run Code Online (Sandbox Code Playgroud)

caching redis

17
推荐指数
1
解决办法
4516
查看次数

python 2.4中的datetime命令行参数

我想在命令行上将datetime值传递给我的python脚本.我的第一个想法是使用optparse并将值作为字符串传递,然后使用datetime.strptime将其转换为日期时间.这在我的机器上工作正常(python 2.6),但是我还需要在运行python 2.4的机器上运行这个脚本,它没有datetime.strptime.

如何将日期时间值传递给python 2.4中的脚本?

这是我在2.6中使用的代码:

parser = optparse.OptionParser()
parser.add_option("-m", "--max_timestamp", dest="max_timestamp",
                  help="only aggregate items older than MAX_TIMESTAMP", 
                  metavar="MAX_TIMESTAMP(YYYY-MM-DD HH24:MM)")
options,args = parser.parse_args()
if options.max_timestamp:
    # Try parsing the date argument
    try:
        max_timestamp = datetime.datetime.strptime(options.max_timestamp, "%Y-%m-%d %H:%M")
    except:
        print "Error parsing date input:",sys.exc_info()
        sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

python datetime

9
推荐指数
1
解决办法
7441
查看次数

使用Hibernate注释来持久保存Enumerated属性的值

我有许多Java枚举,我坚持使用Hibernate.据我所知,有两种不同的标准方法来保存这些枚举:

@Enumerated(EnumType.ORDINAL)
Run Code Online (Sandbox Code Playgroud)

这是默认值,它只保留枚举中的序数值.

@Enumerated(EnumType.STRING)
Run Code Online (Sandbox Code Playgroud)

这会保留枚举值的名称.

到目前为止,这些对我来说工作得很好,但现在我有一个新的枚举,我希望从枚举中保留一个既不是序数也不是名称的自定义值.这可能吗?我四处搜索,看到很多人都在询问如何保留名称,这很容易使用EnumType.STRING完成,但是我希望在我的SQL查询中保留一个可用于比较的int.我试图重写toString()来返回我的自定义值,但这不起作用.

我将在下面粘贴我的java枚举.我想从枚举中持久化int值成员.

提前致谢!

public enum Permission {
    VIEW (4),
    CHANGE(6),
    FULL(7);

    private int value;

    Permission(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}
Run Code Online (Sandbox Code Playgroud)

java annotations hibernate

9
推荐指数
2
解决办法
7528
查看次数

如何在SQL Buddy中使用外键?

我需要使用外键进行更新和级联等.

ALTER TABLE topics
  ADD FOREIGN KEY(topic_by) REFERENCES users(user_id)
  ON DELETE RESTRICT ON UPDATE CASCADE;
Run Code Online (Sandbox Code Playgroud)

但是我无法在SQL Buddy中创建外键.

有办法吗?

mysql sql sqlbuddy

6
推荐指数
1
解决办法
1192
查看次数

MYSQL计算结果

我正在mysql 5.0中构建一个查询来计算学生的学期成绩.初始表(studentItemGrades)包含将用于计算最终成绩的作业列表等.每项作业都有一个PossibleScore,Grade和Weight.计算应对所有类似加权的项目进行分组,并根据分配到期的日期范围提供SUM(GRADE)/ SUM(POSSIBLESCORE).我遇到的问题是所有个别加权等级的最终总和.例如,结果目前产生以下结果:

CourseScheduleID    sDBID   AssignedDate    DueDate     Weight  WeightedGrade
1           519     2010-08-26  2010-08-30  10  0.0783333333333333
1           519     2010-09-01  2010-09-03  20  0.176
1           519     2010-09-01  2010-09-10  70  0.574
Run Code Online (Sandbox Code Playgroud)

来自查询:

SELECT CourseScheduleID, sDBID, AssignedDate, DueDate, Weight, 
((SUM(Grade)/SUM(PossibleScore))*(Weight/100)) AS WeightedGrade 
FROM studentItemGrades 
WHERE DueDate>='2010-08-23' 
AND DueDate<='2010-09-10' 
AND CourseScheduleID=1 
AND sDBID=519 
AND Status>0 
GROUP BY Weight
Run Code Online (Sandbox Code Playgroud)

问题:我现在如何将WeighedGrade输出中的三个结果相加?顺便说一下,这是计算特定校园所有课程所有成绩的更大查询的一部分.

在此先感谢您的帮助.

mysql sum

5
推荐指数
1
解决办法
8563
查看次数

MySQL的WHERE子句中的CASE或COALESCE性能

我想知道在WHERE子句和NULL值中处理多个条件时哪个是更好的性能或最佳实践.

WHERE
    u.id = COALESCE(user_id, u.id) AND
    su.custom_id = COALESCE(student_number, su.custom_id)
Run Code Online (Sandbox Code Playgroud)

要么

WHERE
CASE 
    WHEN user_id IS NOT NULL AND LENGTH(user_id) > 0
    THEN
        u.id = user_id 
    ELSE
        su.custom_id = student_number
    END
Run Code Online (Sandbox Code Playgroud)

mysql sql performance null case

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×4

python ×2

sql ×2

annotations ×1

bash ×1

caching ×1

case ×1

cassandra ×1

datetime ×1

hibernate ×1

java ×1

linux ×1

null ×1

performance ×1

redis ×1

sqlbuddy ×1

sum ×1