问题列表 - 第37773页

Rails:如何构建每天/每月/每年的统计信息或如何缺少与数据库无关的SQL函数(例如:STRFTIME,DATE_FORMAT,DATE_TRUNC)

我一直在网上搜索,我不知道.

  • 假设您必须在Rails应用程序的管理区域中构建一个仪表板,并且您希望每天拥有订阅数量.
  • 假设您使用SQLite3进行开发,使用MySQL进行生产(相当标准的设置)

基本上,有两种选择:

1)使用以下方法在Rails应用程序中使用和按天聚合从数据库中检索所有行:Subscriber.allEnumerable.group_by

@subscribers = Subscriber.all
@subscriptions_per_day = @subscribers.group_by { |s| s.created_at.beginning_of_day }
Run Code Online (Sandbox Code Playgroud)

我认为这是一个非常糟糕的主意.对于小型应用程序,从数据库中检索所有行是可以接受的,但它根本不会扩展.数据库聚合和日期功能拯救!

2)使用聚合和日期函数在数据库中运行SQL查询:

Subscriber.select('STRFTIME("%Y-%m-%d", created_at) AS day, COUNT(*) AS subscriptions').group('day')
Run Code Online (Sandbox Code Playgroud)

哪个将在此SQL查询中运行:

SELECT STRFTIME("%Y-%m-%d", created_at) AS day, COUNT(*) AS subscriptions
FROM subscribers
GROUP BY day
Run Code Online (Sandbox Code Playgroud)

好多了.现在聚合在数据库中完成,该数据库针对此类任务进行了优化,每天只有一行从数据库返回到Rails应用程序.

...但等等......现在应用程序必须在我使用MySQL的生产环境中运行!替换STRFTIME()DATE_FORMAT().如果明天我切换到PostgreSQL怎么办?替换DATE_FORMAT()DATE_TRUNC().

我喜欢用SQLite开发.简单易行.我也喜欢Rails与数据库无关的想法.但是为什么Rails没有提供一种方法来翻译完全相同的SQL函数,但是在每个RDBMS中都有不同的语法(这种差异真的很愚蠢,但是嘿,抱怨它为时已晚)?

我无法相信我在网上找到Rails应用程序的这一基本功能的答案很少:计算每天,每月或每年的订阅量.

告诉我我错过了什么:)

编辑

我发布这个问题已经有几年了.经验表明,我应该使用相同的数据库开发和生产.所以我现在认为数据库不可知的要求无关紧要.

开发/生产平价 FTW.

sql sqlite group-by ruby-on-rails count

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

测试浮点相等

有没有在python中测试浮点近似相等的函数?就像是,

 def approx_equal(a, b, tol):
     return abs(a - b) < tol
Run Code Online (Sandbox Code Playgroud)

我的用例类似于Google的C++测试库gtest.h所定义的EXPECT_NEAR.

这是一个例子:

def bernoulli_fraction_to_angle(fraction):
    return math.asin(sqrt(fraction))
def bernoulli_angle_to_fraction(angle):
    return math.sin(angle) ** 2
def test_bernoulli_conversions():
    assert(approx_equal(bernoulli_angle_to_fraction(pi / 4), 0.5, 1e-4))
    assert(approx_equal(
              bernoulli_fraction_to_angle(bernoulli_angle_to_fraction(0.1)),
                0.1, 1e-4))
Run Code Online (Sandbox Code Playgroud)

python floating-point comparison

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

从不可见的AWT组件创建图像?

我正在尝试创建一个不可见的AWT组件的图像(屏幕截图).我无法使用Robot类的屏幕捕获功能,因为该组件在屏幕上不可见.尝试使用以下代码:

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
component.paintAll(g);
Run Code Online (Sandbox Code Playgroud)

有时工作,但如果组件包含诸如文本框或按钮之类的东西,或某种OpenGL/3D组件(这些东西都不在图像中!),则无效.我怎样才能对整个事物进行适当的截图?

java graphics bufferedimage awt

22
推荐指数
3
解决办法
5426
查看次数

如何在Python中获取主目录?

我需要获取当前登录用户的主目录的位置.目前,我一直在Linux上使用以下内容:

os.getenv("HOME")
Run Code Online (Sandbox Code Playgroud)

但是,这在Windows上不起作用.什么是正确的跨平台方式?

python cross-platform home-directory

761
推荐指数
4
解决办法
35万
查看次数

在两栏文章中跨越页面的整个宽度的图

在IEEEtran乳胶模板中,我试图将一个数字放在页面的整个宽度上.我在做,

\begin{figure*}[h]
\centering
\setlength\fboxsep{0pt}
\setlength\fboxrule{0.25pt}
\fbox{\includegraphics[width=6.2in]{Figure7}}
\caption{Figure}
\label{f7}
\end{figure*}
Run Code Online (Sandbox Code Playgroud)

这会将图像放在文章末尾的新页面上.如何将它放在应有的位置?谢谢

latex

13
推荐指数
2
解决办法
4万
查看次数

使用UIBarButtonItem将图像添加到工具栏时出现问题,显示空白框而不是图像

我不知道我做错了什么.文件名正确,样式设置为plain.但我得到了一个像我的图像大小的银行白盒子.我正在使用UINavigationController.

请帮忙,谢谢你提前谢谢.

**仅供参考我对目标c不熟悉,所以对我来说不要太难.;)

 UIBarButtonItem *toolbarChannelGuideButton = [[UIBarButtonItem alloc]
     initWithImage:[UIImage imageNamed:@"channel-guide-button.png"]
     style:UIBarButtonItemStylePlain
     target:self
     action:@selector(action:)];


self.toolbarItems = [NSArray arrayWithObjects:toolbarChannelGuideButton, nil];
[toolbarChannelGuideButton release];
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uinavigationcontroller uibarbuttonitem toolbaritems

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

使用键盘选择单选按钮时,更改事件未触发

<script>
$("input[name='my_radio_button']").change(function(){
    if ($("input[@name='my_radio_button']:checked").val() == 'ONE'){
                do_this_stuff(); 
    } else { do_other_stuff(); }
});
</script>

<input type="radio" name="my_radio_button1" id="radio1" value="ONE" checked />
<input type="radio" name="my_radio_button2" id="radio2" value="TWO" />
Run Code Online (Sandbox Code Playgroud)

(假设完整的HTML和脚本在所有准备就绪时触发)

单击以选择单选选项时,更改事件似乎会触发,但在使用键盘更改选择时则不会触发.可以做些什么吗?

编辑 - 如果我使用bind或没有任何区别live- 这只是一个错误吗?

澄清一下,即使失去焦点,事件也不会触发.

编辑2 - 没有人知道这个的原因?

编辑3 - 正如DonaldIsFreak指出这似乎是一个铬问题

jquery

14
推荐指数
2
解决办法
4万
查看次数

我应该在导航菜单中使用标题标签吗

我一直想知道这个问题。我喜欢创建超级导航菜单。例如,我目前正在开发的网站顶部有一个博客选项卡,其中包含最新博客文章和其他一些内容的下拉菜单。

我应该使用标题标签进行语义和搜索引擎优化吗?

这是我当前的结构:

<li class="submenu supermenu" id="blogmenu">
    <a href="/blog/">Blog</a>
    <ul>
        <li>                    
            <h4>Recent Posts</h4>
            <ul id="recentposts">
                <li>
                    <h5><a href="/blog/some-blog">Some blog title</a></h5>
                    <p>Snippet of blog post here...</p>
                </li>
                <li>
                    <h5><a href="/blog/some-blog">Some blog title</a></h5>
                    <p>Snippet of blog post here...</p>
                </li>
            </ul>
        </li>
        <li><a id="bloglink" href="/blog/">View the full Blog</a></li>  
    </ul>
</li>
Run Code Online (Sandbox Code Playgroud)

你们有什么感想?

html css seo web-standards

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

学习核心图形

我正在进行iPhone编程,我需要了解Core Graphics.
它看起来Apple没有为Core Graphics提供编程指南,而且我很难遵循使用Core Graphics的代码.

您是否建议学习Core Graphics的参考书或书籍?

iphone core-graphics

7
推荐指数
1
解决办法
3706
查看次数

对称整数到整数加密

我需要一些关于如何将int加密到另一个int的指针或实际示例,并且需要密钥来解密该值.

就像是:

encrypt(1, "secret key") == 67123571122
decrypt(67123571122, "secret key") == 1
Run Code Online (Sandbox Code Playgroud)

这个人提出了几乎相同的问题:整数的对称双射算法
然而我是一个总加密"n00b"我想要一些更实际的例子,如果可能的话,在python中.

我知道我需要使用某种块密码,但我很遗憾的是保持加密结果仍然是数字而且有些短(可能是长而不是int)

有什么指针吗?谢谢

更新 - 我为什么要这样做?
我有一个Web服务,每个"对象"都有一个URL,例如: example.com/thing/123456/

现在,这些ID是顺序的.我想隐藏它们是顺序的(数据库ID)这一事实.

这些页面上的东西不是"绝密"或类似的东西,但对于某人来说,窥探其他随机的对象并不像在URL中增加该ID那样容易.

因此,对于某种双向数字加密,URL ID根本不是连续的,并且需要花费相当多的时间才能找到更多这些对象.(此外,请求受到限制)

我想保留这个数字而不是任意字符串的唯一原因是这个更改是一个完全替换,并且事情只会在没有任何其他代码更改的情况下工作.

此外,我不能只生成新的随机数据库ID.我必须在应用程序中处理此加密/解密.

python security encryption obfuscation cryptography

11
推荐指数
1
解决办法
4381
查看次数