小编Bas*_*Ben的帖子

从Git存储库生成统计信息

我正在寻找一些好的工具/脚本,允许我从git存储库生成一些统计信息.我在一些代码托管网站上看过这个功能,它们包含的信息如...

  • 每位作者提交
  • 提交每天/每周/每年/等.
  • 代码行随着时间的推移
  • ... 多得多

基本上我只是想知道我的项目随着时间的推移增长了多少,哪个开发人员提交大多数代码,等等.

git statistics graph

346
推荐指数
9
解决办法
19万
查看次数

有什么有趣的C/C++库可供使用?

我正在寻找一些新的库以及C和C++.在过去的大部分时间里,我"偶然"偶然发现了一些 - 他们中的大多数人在我参与的项目中都有很好的用处.

库应该在Mac OS X和Linux/POSIX上运行,也可能在Windows上运行.

  • Lua - 用于配置文件和基本应用程序脚本的最小且快速的脚本引擎.
  • V8 - Google引擎的快速JavaScript,类似于WebKit的JavaScriptCore.
  • Cairo - 一个很好的graphcis库,类似于Mac OS X上的QuickDraw/Quartz.
  • ZBar - 条形码扫描仪库,允许扫描照片/图像/视频流以获取条形码并返回其值.
  • ZLib - 用于数据流的非常紧凑的压缩库.也使用了zziblib和minizip.
  • DynaPDF - 易于使用的PDF生成库.
  • libusb - 通用USB库,允许便携式访问USB设备(我用它来编写自定义POS打印机的基本驱动程序).
  • WebKit - 如果您想呈现HTML/Web内容并在应用程序中使用它来为您的用户提供"更丰富"的用户体验,这是一个非常好的.
  • Qt4 - 各种桌面(可能是移动)开发的通用框架.花了很多时间 - 不知道我怎么会忘记这一点.;)

这应该标记为社区维基.如果您有兴趣添加,请更新!

谢谢!


更新1

我不是在寻找像Boost或STL这样的"生产力"库.相反,我正在寻找随机类型的"有趣的新东西" - 无论是图形库,脚本库,网络甚至MOD/MIDI播放库.对不起,我之前没说清楚.

c c++ posix libraries

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

如何将输入字段拉伸到全宽?

我有一个简单的HTML表单.我想在第二列(文本字段,combox等)中使用正确的小部件来拉伸和填充整列.

我的HTML看起来像这样:

<table class="formTable">
  <tr>
    <td class="col1">Report Number</td>
    <td class="col2"><input type="text"/></td>
  </tr>
  <tr>
    <td class="col1">Report Type</td>
    <td class="col2"><select></select></td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我的CSS看起来像这样:

.formTable {
  border-color: black;
}

.formTable td {
  padding: 10px;
}

.formTable .col1 {
  text-align: right;
}

.formTable .col2 {
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

html css

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

MIME RFC"Content-Type"参数混淆?不清楚RFC规范

我正在尝试为multipart/relatedC++/Qt 实现一个基本的MIME解析器.

到目前为止,我一直在为头文件编写一些基本的解析器代码,我正在阅读RFC以了解如何尽可能接近规范来完成所有操作.不幸的是,RFC中有一部分让我感到困惑:

来自RFC882第3.1.1节:

每个标题字段可以被视为ASCII字符的单个逻辑行,包括字段名称和字段主体.为方便起见,该概念实体的场体部分可以分成多线表示; 这被称为"折叠".一般规则是,只要存在线性白空间(不仅仅是LWSP-chars),就可以替换地插入紧接着一个LWSP-char的CRLF.因此,单行

好吧,所以我简单地解析一个头字段,如果一个CRLF跟随线性空格,我只是以有用的方式连接它们以产生一个标题行.我们继续......

来自RFC2045第5.1节:

在RFC 822的Augmented BNF表示法中,Content-Type头字段值定义如下:

 content := "Content-Type" ":" type "/" subtype
            *(";" parameter)
            ; Matching of media type and subtype
            ; is ALWAYS case-insensitive.
Run Code Online (Sandbox Code Playgroud)

[...]

 parameter := attribute "=" value

 attribute := token
              ; Matching of attributes
              ; is ALWAYS case-insensitive.

 value := token / quoted-string

 token := 1*<any (US-ASCII) CHAR except SPACE, CTLs,
             or tspecials>
Run Code Online (Sandbox Code Playgroud)

好的.所以,如果您想要指定Content-Type带参数的标头,只需这样做:

Content-Type: multipart/related; foo=bar; something=else
Run Code Online (Sandbox Code Playgroud)

...并且相同标题的折叠版本看起来像这样:

Content-Type: multipart/related;
    foo=bar; …
Run Code Online (Sandbox Code Playgroud)

mime specifications rfc rfc822

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

与CATiledLayer一起使用时,UIView的"contentScaleFactor"背后的秘密是什么?

问候,

我正在开发一个受iOS SDK附带的"ZoomingPDFViewer"示例启发的应用程序.在某些时候,我发现了以下代码:

// to handle the interaction between CATiledLayer and high resolution
// screens, we need to manually set the tiling view's 
// contentScaleFactor to 1.0. (If we omitted this, it would be 2.0 
// on high resolution screens, which would cause the CATiledLayer 
// to ask us for tiles of the wrong scales.)
pageContentView.contentScaleFactor = 1.0;
Run Code Online (Sandbox Code Playgroud)

我试图了解更多关于contentScaleFactor它的信息.在阅读了提到它的Apple文档的所有内容之后,我搜索了Google并且从未找到确切的答案.

以下是我很好奇的一些事情:

  1. contentScaleFactor当绘制UIView的/ CALayer的内容时,似乎对图形上下文有某种影响.这似乎与高分辨率显示器(如Retina显示器)有关.contentScaleFactor真正有什么样的影响和什么?

  2. 当使用a UIScrollView并将其设置为缩放时,比方说,我的contentView ; contentView的所有子视图也正在缩放.这是如何运作的?哪些属性可以UIScrollView修改,甚至视频播放器变得模糊和扩大?

TL; DR:UIScrollView的缩放功能如何在"引擎盖下"工作?我想了解它是如何工作的,所以我可以编写正确的代码.

任何提示和解释都非常感谢!:)

uiscrollview uiview catiledlayer ios4

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

在Windows/Mac OS X/Linux上为许可证信息/试验创建/保留机密文件的位置?

我正在编写一个商业产品,它使用简单的注册机制,允许用户在购买前使用该应用程序进行演示.

我的应用程序必须在某处存储注册信息(如果输入)和/或第一次启动的日期,以计算用户是否仍在演示/试用期内.虽然我已经完成了注册机制本身,但我现在必须找到一种将注册信息存储在用户磁盘上的好方法.

最明显的想法是将试用期存储在首选项文件中,但由于用户倾向于不时删除/修改试用期,因此将注册信息保存在单独的,更隐藏的文件中可能是个好主意.

所以这是我的问题:在Windows,Mac OS X和Linux上保留和创建隐藏文件的最佳位置/策略是什么?到目前为止,我想到的是:

Linux/Mac OS X.

当涉及到用户可以写文件的地方时,大多数类Unix系统都被锁定了.在大多数情况下,这只是/tmp目录和用户的主目录.我想这里最简单的可能就是创建一个带有点前缀的文件,使其不太明显,然后给它一个名称,使其与我的应用程序无关.

视窗

可能与Linux/Mac OS X非常相似 - 在文件系统权限方面,更新的Windows版本变得更加严格.


无论如何,我想听听你的想法和想法.如果你已经实现过类似的东西,那就更好了.

谢谢!


更新

对我来说,如果复制保护的这种方式好或坏,这些文件的位置比问题的讨论更相关.

hidden licensing invisible file

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

适用于iphone sdk应用程序的最佳正则表达式库?

我对iPhone SDK中提供的正则表达式库感到困惑.例如,RegexLite看起来需要一个动态链接,据我所知,这对于iPhone上的SDK是不可能的.

我想要一个RegEx库来进行数据验证......哪一个是最好的?

regex iphone objective-c

10
推荐指数
3
解决办法
9018
查看次数

Python:使用chroot和chjail保护不受信任的脚本/子进程?

我正在编写一个基于Python的Web服务器,它应该能够执行"插件",以便可以轻松扩展功能.

为此,我考虑了有多个文件夹(每个插件一个)和一些shell/python脚本的方法,这些脚本以可能发生的不同事件的预定义名称命名.

一个示例是具有on_pdf_uploaded.py在将PDF上载到服务器时执行的文件.为此,我将使用Python的子流程工具.

为了方便和安全,这将允许我使用Unix环境变量来提供进一步的信息并设置进程的工作目录(cwd),以便它可以访问正确的文件而无需找到它们的位置.

由于插件代码来自不受信任的来源,我希望尽可能安全.我的想法是在子进程中执行代码,但是将它放入具有不同用户的chroot jail中,这样它就无法访问服务器上的任何其他资源.

不幸的是我找不到任何关于这一点,我不想依赖不受信任的脚本将自己置于监狱.

此外,我也不能将主/调用进程放入chroot jail,因为当服务器回答其他请求时,插件代码可能同时在多个进程中执行.

所以这里有一个问题:如何在chroot jail中执行子进程/脚本,以最小的权限保护服务器的其余部分不被错误的,不可信的代码损坏?

谢谢!

python security subprocess chroot jail

10
推荐指数
2
解决办法
5399
查看次数

如何使用"撤消","剪切","粘贴"和"复制"来实现"编辑"菜单?

问候,

对于我的一个应用程序,我正在尝试实现"编辑"菜单.此菜单通常具有标准条目撤消,剪切,复制粘贴.

默认情况下,此菜单不存在,用户似乎特别希望在Mac OS X上使用它.

有没有更简单的方法来实现这一点,而不是手动在每个小部件中这样做?由于大多数小部件都具有已通过快捷方式实现的复制/粘贴/撤消机制,因此我想提供一些简单的菜单操作来调用它们.

这些动作应该调用任何具有焦点的小部件,然后他们应该将事件向上传递给对象链,我猜.

我在Windows,Linux和Mac OS X上使用Qt 4.6.

谢谢!

user-interface qt menu copy-paste

8
推荐指数
1
解决办法
2754
查看次数

从C/C++中解析简单的MIME文件?

我已经在网上搜索了几天,但我似乎无法找到解决问题的好方法:

对于我的一个项目,我正在寻找一个好的(轻量级)MIME解析器.我的客户提供MIME格式的文件(线性,无层次结构),其中包含3-4个"部分".应用程序必须能够拆分这些部件并独立处理它们.

基本上这些MIME文件就像原始电子邮件消息,但没有SMTP标头.相反,它们以MIME-Header"MIME-Version:1.0"开头,之后部分如下.

我正在使用C++作为应用程序,因此欢迎使用C++库.我们也欢迎标准的C库; 但它应符合以下标准:

  • 开放(至少是LGPL),而不是properiaty
  • 紧凑 - 我只需要解析器,没有SMTP/POP3支持
  • 跨平台(针对Windows,Mac OS X和Linux)

经过几天的搜索,我发现了以下库和使用它们的原因:

  • mimetic(C++)---虽然这个库看起来很完整并且用于C++,但它基于 glib,它不能在Windows上正确编译.
  • Vmime(C++)---似乎完整,但没有正式的Windows支持.他们还提供"双重许可"("商业LGPL"+ GPL).似乎包含在Ubuntu和Debian中,但许可证令人困惑.
  • mime ++ ---商业,没有Mac支持.
  • Chilkat软件MIME C++库 ---商业和专注于Windows.

我真的不想编写自己的MIME解析器.MIME非常普遍,必须有一些开放的库才能以理智的方式处理这种文件格式.

那么,你们有任何想法,建议或链接吗?

提前致谢!

c++ parsing mime

8
推荐指数
2
解决办法
8416
查看次数