问题列表 - 第1121页

截断stdin行长度?

我一直在解析一些日志文件,我发现有些行太长而无法显示在一行上,所以Terminal.app将它们包装到下一行.但是,我一直在寻找一种方法来截断一定数量的字符之后的一行,以便终端不会换行,从而更容易发现模式.

我写了一个小的Perl脚本来做到这一点:

#!/usr/bin/perl

die("need max length\n") unless $#ARGV == 0;

while (<STDIN>)
{
    $_ = substr($_, 0, $ARGV[0]);
    chomp($_);
    print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)

但我有一种感觉,这个功能可能内置于其他一些工具(sed?),我只是不知道该用于此任务.

所以我的问题是一个相反的问题:如何在没有编写程序的情况下截断一行stdin?

perl truncate cut

7
推荐指数
2
解决办法
2963
查看次数

174
推荐指数
6
解决办法
45万
查看次数

如何防止在PHP中使用不正确的类型?

PHP,我们都知道是非常松散的类型.该语言不要求您为函数参数或类变量指定任何类型的类型.这可能是一个强大的功能.

但有时候,它可以使调试脚本成为一种痛苦的经历.例如,将一种对象传递给需要不同类型对象的方法可能会产生错误消息,抱怨传递的对象不存在某个变量/方法.这些情况大多是烦恼.更糟糕的问题是当您使用错误类的对象初始化一个对象时,并且直到稍后在脚本执行中才会使用"错误对象".在这种情况下,您最终得到的错误要比通过原始参数的时间晚得多.

而不是抱怨我传递的内容没有特定的方法或变量,或者等待很久以后在脚本执行中为我传入的对象使用,我宁愿有一条错误消息,在我指定对象的确切位置错误的类型,抱怨对象的类型不正确或不兼容.

你如何处理代码中的这些情况?你如何检测不兼容的类型?如何在脚本中引入一些类型检查,以便我可以更容易理解错误消息?

另外,如何在Php中考虑继承时如何做到这一切?考虑:

<?php
class InterfaceClass
{
#...
}

class UsesInterfaceClass
{
   function SetObject(&$obj) 
   {
       // What do I put here to make sure that $obj either
       // is of type InterfaceObject or inherits from it       

   }
}
?>
Run Code Online (Sandbox Code Playgroud)

然后,此代码的用户使用自己的具体类实现接口:

<?php

class ConcreteClass extends InterfaceClass
{
}



?>
Run Code Online (Sandbox Code Playgroud)

我希望ConcreteClass实例以及所有未来的未知用户定义对象也可以被SetObject接受.如何在检查正确类型时允许这样做?

php oop type-safety

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

是否可以使用ping到伪随机选择的IP地址生成真正的随机数?

提出的问题出现在第二年的Comp Science讲座中,同时讨论了在确定性计算设备中生成数字的不可能性.

这是唯一不依赖于非商品级硬件的建议.

随后,没有人会把他们的名声放在最后,无论是支持还是反对.

任何人都愿意支持或反对.如果是这样,如何提及可能的实施?

theory random algorithm

55
推荐指数
6
解决办法
4815
查看次数

基本案例应该是开放源代码吗?

我作为软件开发人员出现在一个由拥有封闭源软件的大公司主导的专有世界中 - 它没有受到质疑.随着我的职业生涯的发展,互联网变得越来越多,我接触到越来越多的开源软件.

回顾大多数库,我不是在谈论应用程序级代码,而是我们为雇主编写的实用程序,其中很少有直接的竞争优势,甚至更少的内在代表了您认为的知识产权.越来越多的库,框架和实用程序具有开源等价物.现在,我和我一起工作的开发人员在开始实现这样的代码之前首先寻找现有的库是很常见的.

这已经发生了很大变化.许多图书馆可能因缺乏维护而枯萎作为开放源代码,如果他们这样做,我的雇主也不会受到影响.如果他们兴旺或至少吸引了提交,那么这些雇主就会受益 - 这是我现在的雇主所发生的.

现在,看看我们面前的情况,我开始认为,对于我们将要编写的大部分库和框架,我们应该假设它们将成为开源来创建它们.那对于图书馆,公用事业和框架而言,这应该是基本情况,而不是假设它们将被关闭,然后你必须努力使它们开放 - 事实证明,事实上它往往是更多的工作(获得批准,执行评审和清理).

基础案例是开源的,我认为会有好处:

  • 开发人员知道代码将被同行和潜在的未来雇主看到,可能会对文档,测试和设计更加严格,从而使代码本身更好.只要知道世界将能够看到你的代码,就可能改变你愿意削减的角落.这应该有利于赞助开发的组织.
  • 个别开发人员将拥有更多的图书馆和可重复使用的代码来充分利用他们的所有项目,尽管这对个人开发者而言比赞助组织更有利
  • 组织将更有效地分散开发成本,这是开源的核心前提,但如果开放是基本情况,它将更加普遍
  • 它目前吸引了某种类型的开发人员加入该组织
  • 它不能保证,但它为潜在的开发人员提供了进入面试过程的能力,该过程已经熟悉公司实际使用的工具和源代码

感觉这是一种趋势,至少在图书馆和框架层面 - 在我看来不是在应用程序层面.这是一个多元化的社区,您有什么看法?

open-source

5
推荐指数
0
解决办法
285
查看次数

Excel CSV - 数字格式

我将报告生成为CSV文件.当我尝试在Excel中打开文件时,它会根据单元格的内容对数据类型进行假设,并相应地重新格式化.

例如,如果CSV文件包含

...,005,...
Run Code Online (Sandbox Code Playgroud)

然后Excel将其显示为5.有没有办法覆盖它并显示005?

我宁愿对文件本身做一些事情,这样用户只需双击CSV文件即可打开它.

我使用Excel 2003.

csv excel formatting number-formatting

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

从问题传递到代码的过程.你是怎么学习的?

我在教学/帮助学生编程.

我记得当我开始时,以下过程总能帮助我; 它看起来非常直观,我想知道其他人是否有类似的方法.

  1. 阅读问题并理解(当然).
  2. 确定可能的"功能"和变量.
  3. 写一下我将如何逐步完成(算法)
  4. 将它翻译成代码,如果有什么是你做不到的,创建一个为你做的动作并继续前进.

随着时间和实践,我似乎忘记了从问题描述转到编码解决方案有多难,但是,通过应用这种方法,我设法学习如何编程.

所以对于项目描述如下:

系统必须根据以下规则计算物品的价格(规则的描述......客户,折扣,可用性等等.等等.)

我的第一步是了解问题所在.

然后识别项目,规则变量等.

伪代码类似于:

function getPrice( itemPrice, quantity , clientAge, hourOfDay ) : int 
   if( hourOfDay > 18 ) then
      discount = 5%

   if( quantity > 10 ) then
      discount = 5%

   if( clientAge > 60 or < 18 ) then
      discount = 5%


        return item_price - discounts...
end
Run Code Online (Sandbox Code Playgroud)

然后将其传递给编程语言..

public class Problem1{
    public int getPrice( int itemPrice, int quantity,hourOdDay ) {
        int discount = 0;
        if( hourOfDay > 10 ) …
Run Code Online (Sandbox Code Playgroud)

process

8
推荐指数
3
解决办法
1689
查看次数

NLP:构建(小)语料库,或"在哪里获得大量不太专业的英语文本文件?"

有没有人建议在哪里可以找到用于小型语料库的档案或日常英语文本集合?我一直在使用古腾堡项目的书籍作为工作原型,并希望融入更多现代语言.一个最近的答案在此间接指出了一个伟大的新闻组电影评论归档,这对我没有发生,而且非常好.对于这个特定的程序,技术usenet档案或编程邮件列表会使结果倾斜并且难以分析,但任何类型的一般博客文本,聊天记录或任何可能对其他人有用的东西都会非常有用.此外,非常感谢部分或可下载的研究语料库,其中没有太多标记,或者用于查找维基百科文章的适当子集或任何其他想法的一些启发式.

(顺便说一句,我是一个很好的公民,没有下载,使用一个故意慢的脚本,对托管这种材料的服务器没有要求,以防你认为道德风险指向我巨大的东西.)

更新:用户S0rin指出维基百科请求不爬行,而是提供此导出工具.Project Gutenberg 在这里指定一个策略,底线,尽量不要抓取,但是如果你需要:"配置你的机器人在请求之间至少等待2秒."

更新2 维基百科转储是要走的路,这要归功于指出它们的回答者.我最终使用的是英文版本:http://download.wikimedia.org/enwiki/20090306/,西班牙文件大小只有一半.它们是一些清理工作,但非常值得,它们在链接中包含许多有用的数据.


nlp linguistics corpus

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

SQL Null设置为Zero以进行添加

我有一个SQL查询(MS Access),我需要添加两列,其中任何一列都可以为null.例如:

SELECT Column1, Column2, Column3+Column4 AS [Added Values]
FROM Table
Run Code Online (Sandbox Code Playgroud)

其中Column3或Column4可以为null.在这种情况下,我想将null视为零(so 4 + null = 4, null + null = 0).

有关如何实现这一点的任何建议?

sql ms-access database-design

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

没有断言的单元测试

偶尔我会遇到一个没有断言的单元测试.我今天早上遇到的特定示例是测试在满足条件时写入日志文件.假设是如果没有抛出错误,则测试通过.

我个人对此没有任何问题,但是编写单元测试似乎有点"代码味道",没有任何关联它的断言.

只是想知道人们对此的看法是什么?

unit-testing assert

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