问题列表 - 第46621页

在Linux中存储和访问多达1000万个文件

我正在编写一个需要存储大约1000万个文件的应用程序.

它们目前以UUID命名,每个大约4MB,但总是相同.从/向这些文件读取和写入将始终是顺序的.

我正在寻找2个主要问题的答案:

1)哪种文件系统最适合这种情况.XFS还是ext4?2)是否有必要将文件存储在子目录下以减少单个目录中的文件数量?

对于问题2,我注意到人们已经尝试发现可以存储在单个目录中的文件数量的XFS限制,并且没有找到超过数百万的限制.他们注意到没有性能问题.在ext4下怎么样?

在人们做类似事情时,有些人建议将inode编号存储为文件的链接而不是文件的性能(这是在数据库索引中.我也在使用).但是,我没有看到用于按inode编号打开文件的可用API.这似乎更像是在ext3下提高性能的建议,我不打算顺便使用它.

ext4和XFS限制是什么?从一个到另一个有什么性能优势,你能看到在我的情况下使用ext4而不是XFS的理由吗?

linux performance ext4 xfs

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

随机数生成器,C++

我知道在C++中生成随机数有一些限制(可能是非均匀的).如何生成1到14620之间的数字?

谢谢.

c++ random

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

深入了解javascript

我是一个使用ASP.NET的新的Web开发人员.我还没有真正需要javascript的东西,因为到目前为止我构建的应用程序是相当简单的数据挖掘应用程序,我的观众不是在寻找花里胡哨的东西.但是,我想开始远离依赖ASP.NET的东西(内置控件验证器,ajax工具包等).

除了学习语言的语法之外,在开始使用jquery之类的框架来创建有意义的商业应用程序以及漂亮的ajax小部件等之前,学习javascript的必要性是什么?我是否需要了解有关DOM和HTTP以及不同浏览器的所有内容?所有这些都是令人生畏的

javascript

4
推荐指数
1
解决办法
948
查看次数

在没有DateJS的jQuery中解析日期

我试图解析所有月份的格式January 1, 1900February 1, 1900等的日期..然后将月,日和年分成他们自己的对象.

我尝试过使用开箱即用的正则表达式,但是:

  1. 这个特殊的正则表达式似乎过于复杂,并且可能很容易破坏
  2. 知道格式不会改变(我们将在后端验证日期),必须有一个更容易使用的正则表达式

我不想使用DateJS库,因为它似乎包含了很多代码来解析一个日期,所以是否有更简单的方法为此编写正则表达式?除了正则表达式还是DateJS之外,还有其他路线吗?

无论出于何种原因,正则表达式在二月份都不起作用,因为你可以看到它在数组中返回了很多对象,而如果它只返回3个对象(月,日,年)显然会更容易.这是我用我正在使用的正则表达式编写的当前函数...:

function convertDate(dateString) {
    // must be in the format MMMMMMM DD, YYYY OR MMM DD, YYYY
    // examples: January 1, 2000 or Jan 1, 2000 (notice no period for abbreviating January into Jan)
    var dateRegex = new RegExp('^(?:(((Jan(uary)?|Ma(r(ch)?|y)|Jul(y)?|Aug(ust)?|Oct(ober)?|Dec(ember)?)\\ 31)|((Jan(uary)?|Ma(r(ch)?|y)|Apr(il)?|Ju((ly?)|(ne?))|Aug(ust)?|Oct(ober)?|(Sept|Nov|Dec)(ember)?)\\ (0?[1-9]|([12]\\d)|30))|(Feb(ruary)?\\ (0?[1-9]|1\\d|2[0-8]|(29(?=,\\ ((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)))))))\\,\\ ((1[6-9]|[2-9]\\d)\\d{2}))');
    var fullDate = dateString.match(dateRegex);
    console.log(fullDate);

    if (fullDate) {
        var month = fullDate[12];
        var day = fullDate[24];
        var year = fullDate[35];

        if (month == …
Run Code Online (Sandbox Code Playgroud)

javascript regex jquery parsing date

4
推荐指数
1
解决办法
3287
查看次数

问题:编写MySQL解析器来拆分JOIN并将它们作为单独的查询运行(动态地对查询进行非规范化)

我试图找出一个脚本来获取MySQL查询并将其转换为单独的查询,即动态地对查询进行非规范化.

作为一个测试我构建了一个简单的文章系统,有4个表:

  • 用品
    • article_id的
    • article_format_id
    • ARTICLE_TITLE
    • article_body
    • ARTICLE_DATE
  • article_categories
    • article_id的
    • CATEGORY_ID
  • 类别
    • CATEGORY_ID
    • category_title
  • 格式
    • 业态编号
    • format_title

一篇文章可以在多个类别中,但只有一种格式.我觉得这是现实生活中的一个很好的例子.

在列出所有文章的类别页面上(同时提取format_title),可以使用以下查询轻松实现:

SELECT articles.*, formats.format_title 
FROM articles 
INNER JOIN formats ON articles.article_format_id = formats.format_id 
INNER JOIN article_categories ON articles.article_id = article_categories.article_id 
WHERE article_categories.category_id = 2 
ORDER BY articles.article_date DESC
Run Code Online (Sandbox Code Playgroud)

但是,我尝试构建的脚本将接收此查询,解析它并单独运行查询.

所以在这个类别的页面示例中,脚本将有效地运行它(动态计算):

// Select article_categories
$sql = "SELECT * FROM article_categories WHERE category_id = 2";
$query = mysql_query($sql);
while ($row_article_categories = mysql_fetch_array($query, MYSQL_ASSOC)) {

    // Select articles
    $sql2 = "SELECT * FROM articles WHERE …
Run Code Online (Sandbox Code Playgroud)

php mysql sql dynamic-sql denormalization

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

iPad:检测外部键盘

我的应用程序使用a UIAccessoryView为虚拟键盘提供额外的键盘功能(例如向前/向后选项卡和箭头键),但即使存在物理键盘(附件出现在屏幕底部),也会导致UIKeyboardDidShowNotification触发.

我想检查在处理UIKeyboardWillShowNotification时是否附加物理键盘,以防止出现附件视图并防止我的自定义视图向上滚动(为不存在的虚拟键盘腾出空间).

我已经尝试过检查UIKeyboardFrameEndUserInfoKey密钥,但它会返回虚拟键盘的实际大小,尽管没有显示任何内容.

有没有办法检测物理键盘的存在,以防止这种不必要的行为?


嗯,情节变浓了.

我尝试通过从Responder对象的inputAccessoryView属性返回nil来禁用输入附件,该属性触发键盘.这会抑制UIKeyboardWillShowNotification并且UIKeyboardDidShowNotification当存在物理键盘时,但在没有这样的键盘时保留这些通知.到目前为止都很好.

然后我尝试仅在UIKeyboardWillShowNotification收到后重新启用inputAccessoryView .这仅在需要虚拟键盘时触发,因此应允许我在这些情况下重新引入附件视图.或者我想.

不幸的是,它似乎在OS不检查inputAccessoryView 之后 UIKeyboardWillShowNotification,所以它不能显示在需要的时候附属视图:O(

这让我有两个选择:

  • 包括输入附件视图,为虚拟键盘用户提供额外功能,但却无法检测物理键盘,因此无法支持物理设备; 要么
  • 完全排除输入附件,阻止大多数用户访问额外的键,但允许应用程序使用物理键盘.

不是一个很好的选择,所以我仍然希望看到是否有其他人解决了这个问题!

keyboard xcode ipad

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

Grails文件上传 - 如何识别文件和/或内容类型?

我是Grails初学者,所以请耐心等待我.目前我很难操纵文件上传.据我所知,request.getFile()我可以轻松获取字节流.但在我这样做之前,我想检查以下内容:

  • 正在上传的文件的文件名
  • 正在上传的文件的文件大小
  • 正在上传的文件的内容/文件类型

如何才能做到这一点?在文件上传到服务器之前是否可能?我想阻止上传大文件.

grails content-type file-upload file-type

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

ClientClass不命名类型.GCC Linux

在制作我的代码时,我遇到了一个奇怪的问题.我为所有包含1个文件,我们称之为includes.h和类文件,如clientclass.h等.

问题是,当我尝试编译我的代码时,我得到一个编译器错误:

/mnt/orange-new/units/includes.h|34|error:'ClientClass'没有命名类型

包括:

#ifndef INCLUDES_H_INCLUDED
#define INCLUDES_H_INCLUDED

#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include <errno.h>

#include <sys/timeb.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <netinet/in.h>
#include <fcntl.h>
#include <arpa/inet.h>

#include <time.h>

#include <iostream>
#include <cstring>
#include <string>

#include "config.h"

#include "console.h"
#include "clientclass.h"
#include "tcpparser.h"
#include "netmsg.h"

#include "main.h"

Console Konsola;
ClientClass Clients;

TCPThread ParserTCP;

#endif // INCLUDES_H_INCLUDED
Run Code Online (Sandbox Code Playgroud)

clientclass.h:

#ifndef CLIENTCLASS_H_INCLUDED
#define CLIENTCLASS_H_INCLUDED

#include "includes.h"

struct ClientStruct {

    int Sock;
    int Ident;
    int Room;

    std::string Name;
    std::string …
Run Code Online (Sandbox Code Playgroud)

c++ linux ubuntu gcc

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

实时分布式系统的基本要素是什么?

我正在接受承包,今天我已经接受了承包商职位的第一轮面试.我已经通过了它,但有人告诉我 - 主要是一个UI开发人员 - 我只介绍了他们后端需要的基础知识,我应该在第二轮之前阅读分布式系统.

到目前为止,在我的职业生涯中,我一直在从事后期操作,从不需要实时.由于我还剩下几天,我需要涵盖哪些主题?首先能够回答他的问题并且通常被视为分布式系统中的适当问题?

问题是如何在UI上实时显示数据?后端需要做什么?我已经提到了实时数据馈送的生产者/消费者模式.他很喜欢,但他说他在第二次面试时需要更多.

任何帮助将非常感激,

distributed real-time distributed-computing distributed-system

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

ios中的QuartzCore drawtext问题

我的代码颠倒了这个文字.为什么?

- (void)drawRect:(CGRect)rect {
    // Drawing code.

CGContextRef myContext = UIGraphicsGetCurrentContext();  
CGRect contextRect = self.bounds;

UIGraphicsPushContext(myContext);



    CGContextSelectFont (myContext, // 3
                     "Courier",
                     24,
                     kCGEncodingMacRoman);
   CGContextSetCharacterSpacing (myContext, 1); // 4
   CGContextSetTextDrawingMode (myContext, kCGTextFillStroke); // 5

   CGContextSetRGBFillColor (myContext, 0, 1, 0, 1.0); // 6
   CGContextSetRGBStrokeColor (myContext, 1.0, 1.0, 1, 1); // 7
   CGContextShowTextAtPoint (myContext, 100, 50, "Quartz 2D", 9); 

}
Run Code Online (Sandbox Code Playgroud)

objective-c quartz-graphics ipad ios

4
推荐指数
1
解决办法
3718
查看次数