小编Osc*_*Ryz的帖子

javascript/json日期文字

什么是JSON/JavaScript的日期文字(如果存在这样的东西?)

javascript json date literals

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

在做TDD时,我应该对"做最简单可能的工作"有多严格

对于TDD,你必须这样做

  1. 创建失败的测试
  2. 做最简单的事情可以通过测试
  3. 添加更多测试变体并重复
  4. 当模式出现时重构

有了这种方法,你想要覆盖所有的情况(至少在我脑海中浮现),但我想知道我是否在这里过于严格,如果有可能"提前思考" 一些场景而不是简单发现它们.

例如,我正在处理一个文件,如果它不符合某种格式,我会抛出一个 InvalidFormatException

所以我的第一个测试是:

@Test 
void testFormat(){
    // empty doesn't do anything nor throw anything
    processor.validate("empty.txt"); 
    try {
        processor.validate("invalid.txt");
        assert false: "Should have thrown InvalidFormatException";
    } catch( InvalidFormatException ife ) {
        assert "Invalid format".equals( ife.getMessage() );
    }
 }
Run Code Online (Sandbox Code Playgroud)

我运行它并失败,因为它不会抛出异常.

因此,我想到的下一件事是: "尽可能做最简单的事情",所以我:

public void validate( String fileName ) throws InvalidFormatException {
    if(fileName.equals("invalid.txt") {
        throw new InvalidFormatException("Invalid format");
    }
}
Run Code Online (Sandbox Code Playgroud)

卫生署!(虽然真正的代码有点复杂,我发现自己做了几次这样的事情)

我知道我最终必须添加另一个文件名和其他测试,这会使这种方法变得不切实际,这将迫使我重构一些有意义的东西(如果我理解正确是TDD的重点,发现模式的用法推出)但是:

问:我是否过于字面意思"做最简单的事情......"的事情?

language-agnostic tdd

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

linq to sql:从同一个表中连接多个列

如何通过Linq从同一个表中连接多个列?

例如:我已经有了......

join c in db.table2 on table2.ID equals table1.ID
Run Code Online (Sandbox Code Playgroud)

我需要添加这个......

join d in db.table2 on table2.Country equals table1.Country 
Run Code Online (Sandbox Code Playgroud)

join linq-to-sql

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

使用svn进行Web开发的最佳方法

我在我的服务器上安装了svn,我想知道最好的方法是使用它.例如,我有htdocs和cgi-bin的apache文件夹.我应该把这两个文件夹放在svn中吗?当我在一个项目上工作时,我通常将project_name作为每个文件夹中的文件夹 - htdocs/projname和cgi-bin/projname?我应该两个吗?从htdocs svning我的图像和其他东西是一个好主意,或者我应该只svn我的代码?

此外,是否值得svning word文档,psd文件(通常大约100mb左右)?或者我应该避免它们?

我已经在对我的所有数据进行每日增量备份.

您认为小型网络开发公司应采用的最佳策略是什么?

非常感谢您的宝贵时间.

svn

16
推荐指数
1
解决办法
8642
查看次数

用于从Java中的blob内容创建文件的代码段

我有一些文件存储在Oracle 9的数据库blob列中.

我想将这些文件存储在文件系统中.

这应该很简单,但我找不到合适的剪辑.

我怎么能在java中这样做?

 PreparedStatement ptmst = ...
 ResutlSet rs = pstmt.executeQuery();
 rs.getBlob();
 // mistery 
 FileOutputStream out = new FileOutputStream();
 out.write(); // etc et c
Run Code Online (Sandbox Code Playgroud)

我知道它应该是类似的东西...我不知道是什么评价为

谢谢

编辑

我终于得到了大卫的问题.

这是我懒惰的实现:

PreparedStatement pstmt = connection.prepareStatement("select BINARY from MYTABLE");
ResultSet rs = pstmt.executeQuery();
while( rs.next() ) {
    Blob blob = rs.getBlob("BINARY");
    System.out.println("Read "+ blob.length() + " bytes ");
    byte [] array = blob.getBytes( 1, ( int ) blob.length() );
    File file = File.createTempFile("something-", ".binary", new File("."));
    FileOutputStream out = new …
Run Code Online (Sandbox Code Playgroud)

java blob jdbc

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

在半透明框架/面板/组件上重新涂漆.

我正在尝试在OSX上创建一个带有Java的半透明窗口并添加一个JLabel.

JLabel会每秒改变它的文字......

替代文字

然而,该组件不能很好地重新粉刷.

我怎么解决这个问题?

我找到了这些 文章,但我无法弄清楚如何解决它.

如果可能的话,请粘贴修复源代码,这是我的:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Font;
import java.util.Timer;
import java.util.TimerTask;

public class Translucent {
    public static void main( String [] args ) {

        JFrame frame = new JFrame();

        frame.setBackground( new Color( 0.0f,0.0f,0.0f,0.3f));

        final JLabel label =  new JLabel("Hola");
        label.setFont( new Font( label.getFont().getFamily(), Font.PLAIN, 46 ) );
        label.setForeground( Color.white );

        frame.add( label );
        frame.pack();
        frame.setLocationRelativeTo( null );
        frame.setVisible( true );

        Timer timer = new …
Run Code Online (Sandbox Code Playgroud)

java macos swing awt paint

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

从json到java.util.Map编码/解码的库?

有谁知道一个java库可以轻松地将java Maps编码为json对象,反过来呢?

UPDATE

由于原因无法解释(我有时讨厌)我不能在我的环境中使用泛型.

我想要做的是做这样的事情:

Map a = new HashMap();
a.put( "name", "Oscar" );

Map b = new HashMap();
b.put( "name", "MyBoss"); 
a.put( "boss",  b ) ;


List list = new ArrayList();
list.add( a );
list.add( b );


 String json = toJson( list );
 // and create the json:
 /*
    [
       {
         "name":"Oscar",
         "boss":{
              "name":"MyBoss"
         }
        },
        {
            "name":"MyBoss"
        }
     ]

  */ 
Run Code Online (Sandbox Code Playgroud)

并能够再次将其作为地图列表

 List aList = ( List ) fromJson( jsonStirng );
Run Code Online (Sandbox Code Playgroud)

java json converter map

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

Diff当前文件版本和前一个远程存储库

如何将工作文件版本与远程存储库中的某些先前版本区分开来?

说,我今天拉,执行6 - 8提交到我的本地副本,然后想看到我的最新工作版本(给定文件)和最新的远程或任何其他版本之间的差异.

git diff

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

在Java中的方法中是否使用了自由浮动块?

我不知道方法可能有像这样的浮动块:

class X { 
    public static void main( String [] args ) {
        { //<--- start
            int i;
        } //<-- ends
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道方法之外的浮动块,但从未尝试过它们.

这可能用于定义本地范围或其他内容.

在Java中的方法中是否有用于浮动块?

java methods language-features

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

正则表达式:如何逃避反斜杠和特殊字符?

有没有办法逃避(或保护)正则表达式中的特殊字符?

我想做的是创建一个简单的正则表达式测试器:

import java.util.regex.*;
class TestRegex { 
   public static void main( String ... args ) { 
       System.out.printf("%s ~= %s ? %s  %n" , args[0], args[1], Pattern.matches( args[0], args[1] ) );
   }
}
Run Code Online (Sandbox Code Playgroud)

在将它们插入程序之前测试我的模式非常有用:

$java TestRegex "\d" 1
\d ~= 1 ? true  
$java TestRegex "\d" 12
\d ~= 12 ? false  
$java TestRegex "\d+" 12
\d+ ~= 12 ? true  
$java TestRegex "\d+" a12
\d+ ~= a12 ? false  
$java TestRegex "\d+" ""
\d+ ~=  ? false  
Run Code Online (Sandbox Code Playgroud)

我接下来要做的是在我的程序中使用这个模式,但每次我必须手动转义它:

Pattern p …
Run Code Online (Sandbox Code Playgroud)

java regex

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