小编Wil*_*ler的帖子

关于实现Stack Overflow风格注释的想法

我非常喜欢Stack Overflow评论用户界面,我正在考虑在自己的网站上实现相同的功能.我查看了代码,看起来这里的主要工具是WMD,JQuery TextArea Resizer扮演了一个支持角色.

WMD在客户端将Markdown转换为HTML.这非常好,因为它有助于预览,但在将其发送到服务器时遇到了挑战.如果存在验证错误(例如,用户在评论表单的其他部分输入了无效的电子邮件地址,或者他没有输入他的名字),则服务器通过重新显示表单并返回错误消息来响应表格字段预先填充.只是现在评论文本是HTML,而不是Markdown,因为服务器甚至从未看过Markdown.但我希望它是Markdown,因为那是用户输入的内容.

这里有什么想法?

我考虑了各种想法:

  • 进行服务器端HTML-to-Markdown转换.对这个想法并不那么兴奋.似乎很快就从Markdown转换为HTML再回到Markdown,作为用户,当软件重新格式化我的文本/代码时,我总觉得它很烦人.
  • 客户端验证(增加服务器端验证,我当然会保留).虽然目前我在评论表单上使用了reCAPTCHA,但这似乎是一个合理的方向,这意味着我需要将至少reCAPTCHA部分发布到服务器上.
  • 丢失WMD并使用MarkdownJMarkdown转换为服务器上的HTML.我需要寻找一些其他机制来完成预览功能,我想保留它.

理想情况下,除了HTML之外,还有一些方法可以获得文本的Markdown版本并将其提交给服务器,但我还不足以知道这是否真的存在.

任何建议赞赏.

javascript markdown comments wmd

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

招聘经理希望开发人员了解哪些并发编程概念?

当我聘请开发人员进行一般的中高级Web应用程序开发职位时,我通常希望他们了解核心并发编程概念,例如活跃性与安全性,竞争条件,线程同步和死锁.我不确定是否考虑主题如fork/join,等待/通知,锁定顺序,内存模型基础(只是基础知识)等等,以成为每个经验丰富的开发人员应该知道的内容,或者这些是否是主题对于半专家来说更是如此(即,有意识地决定比平均开发人员更多地了解并发编程的开发人员).

我很想知道你的想法.

concurrency

6
推荐指数
1
解决办法
1016
查看次数

Spring Data web分页"page"参数不起作用

我正试图让Spring Data的网页分页工作.它在这里描述:

http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/repositories.html#web-pagination

这是我的Java(Spring Web MVC @Controller处理程序方法):

@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(
    @PageableDefaults(value = 50, pageNumber = 0) Pageable pageable,
    Model model) {

    log.debug("Params: pageNumber={}, pageSize={}",
        pageable.getPageNumber(), pageable.getPageSize());

    ...
}
Run Code Online (Sandbox Code Playgroud)

这是我的Spring配置:

<mvc:annotation-driven>
    <mvc:argument-resolvers>
        <bean class="org.springframework.data.web.PageableArgumentResolver" />
    </mvc:argument-resolvers>
</mvc:annotation-driven>
Run Code Online (Sandbox Code Playgroud)

(看起来上面的配置是现在这样做的方法;链接中描述的配置方法已被弃用.)

当我实际尝试使用pagepage.size参数控制分页时,后者工作得很好,但前者没有.例如,如果我点击

http://localhost:8080/myapp/list?page=14&page.size=42
Run Code Online (Sandbox Code Playgroud)

日志输出是

Params: pageNumber=0, pageSize=42
Run Code Online (Sandbox Code Playgroud)

所以我知道论证解析器正在进行,但不确定为什么它不能解析页码.我已经尝试了一堆其他的参数名称(例如page.number,pageNumber,page.num等)并且它们都不起作用.

这对其他人有用吗?

java spring pagination spring-mvc spring-data

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

CSV文件到R中的直方图

我是R的新手,我正在尝试从csv文件(只有一行值)创建一个直方图(值和频率为轴).知道我怎么能这样做吗?

csv r histogram

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

在Spring MVC中验证

如何在验证器类中获取请求对象,因为我需要验证内容,即请求对象中存在的参数.

java validation spring spring-mvc

5
推荐指数
2
解决办法
8994
查看次数

使用Spring Data Neo4j的简单对象/图形映射来获取事务的正确方法?

我在Spring Data Neo4j 2.0中使用简单的对象/图形映射,在那里我使用Spring Data存储库框架执行持久性操作.我正在使用存储库而不是使用Neo4jTemplate.我将存储库注入我的Spring Web MVC控制器,控制器直接调用repos.(没有中间服务层 - 我的操作通常是CRUD和查找器查询.)

当我读操作时,没有问题.但是当我写操作时,我得到"NotInTransactionException".我的理解是Neo4j中的read操作不需要事务,但是写操作可以.

假设我想坚持使用简单的OGM,那么在这里进行交易的最佳方法是什么?我想要使​​用@Transactional,但是将它放在各种存储库接口上是行不通的.如果我在控制器和存储库之间引入一个中间服务层,然后使用@Transactional注释服务bean,那么它可以工作,但我想知道是否有更简单的方法.如果没有Spring Data,我通常可以访问DAO(存储库)实现,因此如果我想避免传递服务层,我可以用@Transactional注释具体的DAO.使用Spring Data,repos是动态生成的,因此看起来不是一个选项.

spring transactions neo4j spring-data-graph spring-data-neo4j

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

Spring Security Java配置

我正在尝试使用JavaConfig代替Spring配置的XML配置.我想@PreAuthorization用于声明访问权限.

我的Spring Security Config看起来像这样:

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity( prePostEnabled = true )
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void registerAuthentication( AuthenticationManagerBuilder auth ) throws Exception {
        auth
            .inMemoryAuthentication()
            .withUser( "user" ).password( "password" ).roles( "USER" );
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.部署Web应用程序后,我收到错误消息Error creating bean with name 'methodSecurityInterceptor' defined in class path resource.

经过一些研究,我发现我必须将aopalliance库添加到我的项目中.不幸的是,这并没有解决我的问题.

这是完整的堆栈跟踪:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodSecurityInterceptor' defined in class path resource [org/springframework/security/config/annotation/method/configuration/GlobalMethodSecurityConfiguration.class]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method …
Run Code Online (Sandbox Code Playgroud)

spring spring-security pre-authentication spring-java-config

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

将字符串用于非String特定数据有什么缺点?

我知道这可能是一个"愚蠢"的问题.我之前创建了软件应用程序,然后将基本上所有变量初始化为字符串,并将它们作为VARCHAR保存在我的数据库中.然后,我会从数据库中收集它们并根据需要进行转换.有没有理由这不是一个有效的方法来初始化变量并将其保存在我的数据库中?

我知道对于非常大的应用程序,这可能会导致计算时间问题,因为我不必要地将可能已初始化的变量转换为适当的类型.但是,对于较小的应用程序,这是"好吗"吗?

java types

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

解析txt文件

我必须编写一个程序来解析棒球运动员信息,然后从txt文件中点击,外出,走路等.例如,txt文件可能如下所示:Sam Slugger,h,h,o,s,w,w,h,w,o,o,o,h,s Jill Jenks,o,o,s,h, h,o,o Will Jones,o,o,w,h,o,o,o,o,w,o,o

我知道如何解析文件,并可以使代码运行完美.我唯一的问题是我们应该只打印每个玩家的名字和3或他们的游戏.例如:Sam Slugger击中,击中Jill Jenks,出去,牺牲飞Will Will出去,出去,走路

我不知道如何限制这一点,每次我试图在3时切断它我总是让第一个人工作正常但是它打破了循环并且没有为所有其他玩家做任何事情.

这是我到目前为止:

import java.util.Scanner;
import java.io.*;

public class ReadBaseBall{

public static void main(String args[]) throws IOException{

    int count=0;
    String playerData;
    Scanner fileScan, urlScan;

    String fileName = "C:\\Users\\Crust\\Documents\\java\\TeamStats.txt";
    fileScan = new Scanner(new File(fileName));

    while(fileScan.hasNext()){

        playerData = fileScan.nextLine();
        fileScan.useDelimiter(",");

        //System.out.println("Name: " + playerData);

        urlScan = new Scanner(playerData);
        urlScan.useDelimiter(",");


        for(urlScan.hasNext(); count<4; count++)

            System.out.print(" " + urlScan.next() + ",");

        System.out.println();

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

打印出来:Sam Slugger,h,h,o,但随后其他玩家被排除在外.我需要帮助才能让其他人打印出来.

java parsing loops

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

使用AuthenticationManagerBuilder的提供者订单

我正在使用Spring Security 4.0.1,并希望使用多个身份验证提供程序来使用基于Java的配置进行身份验证。如何指定提供者订单?

我希望使用AuthenticationManagerBuilder,因为这是WebSecurityConfigurerAdapter.configureGlobal()公开的内容,但是我看不到任何指定顺序的方法。我需要手动创建ProviderManager吗?

更新:这是根据阿伦的答案进行的问题澄清。我要使用的特定提供程序是ActiveDirectoryLdapAuthenticationProvider并且DaoAuthenticationProvider用于自定义UserService

最终,我想针对第DaoAuthenticationProvider一个和ActiveDirectoryLdapAuthenticationProvider第二个进行身份验证。

AD提供程序涉及到的调用,AuthenticationManagerBuilder.authenticationProvider()而DAO提供程序涉及到的调用AuthenticationManagerBuilder.userService(),这DaoAuthenticationProvider在幕后创建了围绕用户的服务。查看源代码,它不会直接将提供程序放置在提供程序列表中(它会创建配置程序),因此Arun的答案对我不起作用。

我尝试创建DaoAuthenticationProvider手动并将其传递给authenticationProvider()。它并没有影响订单。

java authentication spring spring-security

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