小编Vir*_*dia的帖子

安装和管理开源项目的最佳实践

今年晚些时候,我想发布一个我一直在开源的PHP框架.我确实使用了源代码控制(SVN),但它的使用非常有限.我是自学成才,我自己开发,没有与大型团队合作的经验.关于什么可以帮助项目成功,我有一些想法,但我对一些细节很模糊.由于它还没有发布,我想尽我所能从一开始就建立正确的基础设施.为了设置和管理成功的项目,我需要知道什么?

我必须使一些想法成功(除了营销之外):

  • 良好的文档和教程
  • 自动化单元测试和构建,以推动更新到网站
  • 一个清晰的路线图
  • Bug跟踪与源代码管理集成
  • 用于保持代码一致的样式指南
  • 社区获得支持,分享想法等的论坛
  • 用框架构建的一个很好的示例应用程序
  • 一个博客,让社区了解情况
  • 尽可能保持向后兼容性

我的一些问题:

  • 如何设置和自动化一步提交 - 测试 - 提交 - 生成API文档 - 推送更新到网站流程?编辑:Ant或Maven会成为这个的好候选人吗?如果是这样,您是否知道使用它们设置PHP项目的任何资源?
  • 如何处理(技术上)其他用户提交的内容?如何确保在整合之前必须批准这些提交?
  • 在项目社区方面可以避免哪些陷阱?我宁愿让它尽可能友好和乐于助人,没有太多的戏剧性.

我很乐意从你对这些方面的经验中学习.如果您认为我错过了任何重大内容,请分享.您可以指向我的任何资源(最好是面向初学者)也会非常感激.

installation project-management open-source

20
推荐指数
2
解决办法
1803
查看次数

名为i的变量是不可接受的吗?

就变量命名约定而言,是应该命名迭代器i还是更像语义的东西count?如果你不使用i,为什么不呢?如果您认为这i是可以接受的,是否存在不应该使用迭代的情况?

variables iterator coding-style naming-conventions

17
推荐指数
4
解决办法
1221
查看次数

模态对话是网络的一个好习惯吗?

模态窗口/对话框是否被视为网站的良好做法?关于使用模态窗口的一个问题是,它非常像弹出窗口,它可能会导致用户沮丧或导致用户只是关闭它,因为它是侵入性的.您是否知道有任何关于用户偏好和使用率的研究?

除了在关闭JavaScript时使用模态窗口链接在新页面中加载内容之外,是否存在任何可访问性问题?你喜欢使用模态窗口的网站或网络应用吗?为什么或者为什么不?实现模态窗口有哪些好的和坏的做法?我知道在显示图片或画廊时最常使用模态,但还有哪些其他实际用例?您是否在自己的网站上使用它们,是什么导致您做出决定?

user-interface modal-dialog

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

PHP中的魔术引号

根据PHP手册,为了使代码更具可移植性,他们建议使用以下内容来转义数据:

if (!get_magic_quotes_gpc()) {
    $lastname = addslashes($_POST['lastname']);
} else {
    $lastname = $_POST['lastname'];
}
Run Code Online (Sandbox Code Playgroud)

我还将进行其他验证检查,但上述严格来说,在逃避数据方面有多安全?我还看到在PHP 6中将不推荐使用魔术引号.这将如何影响上述代码?我宁愿不依赖于像mysql_real_escape_string()这样的特定于数据库的转义函数.

php security magic-quotes

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

在MySQL中获取表元数据

我试图找出如何从MySQL 5.0中的表中获取以下约束信息:

  • 首要的关键
  • 外键和表引用
  • 独特的列

查询或查询的语法是什么?我有一种感觉,我很接近这一点,但没有例子.

mysql syntax constraints

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

在CSS中为3d平面上的子元素设置正确的透视图

我有一个倾斜45度角的SVG六角网格.在各个六角形上,我想放置图像(由红色矩形表示),这些图像看起来是直立的,分别对应于网格平面.图像/矩形不一定必须达到90度,但是我最难让它们拥有与飞机有点不同的任何视角.

有没有办法取消子元素的透视图或以某种方式重新编写CSS变换以使其看起来正确?

.display {
    animation: displayFlicker 100ms cubic-bezier(.37, 0, .41, 1.74) 100ms 1 normal forwards;
    -webkit-animation: displayFlicker 100ms cubic-bezier(.37, 0, .41, 1.74) 100ms 1 normal forwards;
    background: #000;
    display: block;
    border-left: 0.25rem solid #000;
    border-right: 0.25rem solid #000;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    height: 480px;
    overflow: hidden;
    width: 1096px;
}
#hexGrid {
    box-sizing: border-box;
    -moz-box-sizing: border-box;    
    display: block;
    height: 100%;
    -webkit-transform: perspective(44vw) rotateX(45deg) scale3d(1.6, 1.6, 1.6); 
    -moz-transform: perspective(44vw) rotateX(45deg) scale3d(1.6, 1.6, 1.6);    
    -ms-transform: perspective(44vw) rotateX(45deg) scale3d(1.6, 1.6, 1.6); 
    -o-transform: perspective(44vw) …
Run Code Online (Sandbox Code Playgroud)

css 3d svg css-transforms responsive-design

15
推荐指数
2
解决办法
912
查看次数

我为什么要使用Flex?

在最近的一次对话中,我提到我使用JavaScript作为Web应用程序.该评论引发了一个回应:"你应该使用Flex.它会缩短你的开发时间,而JavaScript也很难调试和维护.你需要使用正确的工具来完成正确的工作." 现在,我对Flex不太了解,但我个人并不认为JavaScript太难调试或维护,特别是如果你使用框架.JavaScript也是目前使用最多的语言之一,所以在这方面它似乎也是更好的选择.然而,他的回答激起了我的兴趣.对于可供第三方开发人员构建附加组件的可分发Web应用程序,Flex是否是一个不错的选择?使用它与JavaScript框架相比有哪些优势?有哪些缺点?

javascript apache-flex

14
推荐指数
3
解决办法
3317
查看次数

在PHP/MySQL中生成唯一代码?

我正在与一个需要生成数百万字母数字代码的客户合作,这些代码用于杂志刮刮卡,瓶装奖品等.它们必须足够短以便在帽子上打印,他们希望确保不包括像1和I,0和O等模糊字符,并且必须明确存储它们以备将来使用 - 我们可以'只有一个算法可以在某人试图兑换一个时确定"有效性".最后,他们希望确保代码随机分布在一个大的"代码空间"内,这样人们就不能通过遍历字母表来猜测其他代码.

有没有指向合理有效的算法来生成这些类型的代码集?我在信封的背面刮了几下,但这个问题闻起来像是一个不知情的陷阱.

php mysql random generator serial-number

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

在NLP中识别专有名词的策略

我有兴趣了解更多关于自然语言处理(NLP)的信息,如果目前有任何策略可以识别不基于字典识别的文本中的专有名词,我很感兴趣吗?此外,任何人都可以解释或链接到解释当前基于字典的方法的资源吗?谁是NLP的权威专家或该主题的权威资源是什么?

nlp named-entity-recognition part-of-speech

13
推荐指数
3
解决办法
6088
查看次数

检测PHP中的代码块的超时

如果在PHP中花费太长时间,有没有办法可以中止一段代码?也许是这样的:

//Set the max time to 2 seconds
$time = new TimeOut(2);
$time->startTime();

sleep(3)

$time->endTime();
if ($time->timeExpired()){
    echo 'This function took too long to execute and was aborted.';
} 
Run Code Online (Sandbox Code Playgroud)

它不一定完全像上面那样,但有没有任何本机PHP函数或类做这样的事情?

编辑:Ben Lee的答案pcnt_fork将是完美的解决方案,除了它不适用于Windows.有没有其他方法可以使用适用于Windows和Linux的PHP实现此目的,但不需要外部库?

编辑2:XzKto的解决方案可在某些情况下,但不是一致,我似乎无法捕获异常,不管我怎么努力.用例是检测单元测试的超时.如果测试超时,我想终止它,然后继续下一个测试.

php timeout

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