小编Bra*_*ugh的帖子

互动网站原型设计

我想快速为网站创建新功能的原型.我正在寻找一种方法:

  • 围绕现有的复杂网站构建
  • 允许互动
  • 可以快速轻松地尝试新事物

我想象一些允许我说"渲染这个网站的东西,但是在这个带有这样的网页的网页上,标记我正在用贴图在页面上绘图,如果有人点击它,就把它们移到这里".

或者可能,"这是一个网站的屏幕截图.如果有人点击此框,请向他们显示其他截图".

你们用什么来构建网站UI功能的原型?

user-interface prototype

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

Spring XML内部bean问题

我创建了一个包含其他bean列表的spring bean,如下所示:

<bean name="InventoryManager" class="InvManager">
  <property name="slots">
    <bean class="HeadSlot" />
    <bean class="ShoulderSlot" />
    <!-- ... -->
  </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

但问题是,在其他地方,我@Autowired在其他类中使用了一个注释,以获取实现某些内部bean实现的某个接口的所有bean的列表,如下所示:

@Autowired
public void registerInventoryHandlers( List<InvSlot> slots ) {
    //... do some setup stuff with beans that implement the InvSlot interface.
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是,显然XML中定义的"内部bean"不是@Autowired列表的一部分.但是,给出所有这些插槽bean名称,然后从XML引用它们似乎是不必要和丑陋的.

有没有办法在另一个bean中定义bean,但不是一个"内部"bean?或者有更好的方法来处理这种设计?

spring

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

在Spring/Hibernate堆栈中打开会话的位置?

我正在尝试为Spring/Hibernate应用程序找到一个好的设计.在创建这样的应用程序时,似乎有一些重大决策.

第一个主要决定似乎是放置会话/事务边界的位置.看起来我有三个主要选择:作为控制器甚至调用之前的过滤器,紧接在服务调用级别的控制器之下,并且在存储库调用中的业务级别之下填充.

在我看来,正确的呼叫是中间路径,但我不确定.我不希望我的事务打开太长时间,但同时,我不想经常担心业务逻辑中的分离对象和延迟加载.不过,还有一些缺点.例如,它使业务逻辑很难在没有暂停事务几秒钟的情况下进行远程调用.我想知道是否有更好的方法?

spring hibernate

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

Spring 控制器的 AOP

Spring 的 AOP 功能非常棒,它可以轻松地向控制器添加很酷且有用的注释。例如,我编写了一个 @Authenticated 注释,它允许经过身份验证的用户通过控制器方法或重定向到登录页面。好玩的东西。

但是,Spring 的控制器可以返回各种不同的类型。它们可以返回字符串、ModelAndView 对象,甚至是 void。我的代码库中有使用所有三种类型的方法。但是,我想更改我的 @Authenticated 注释以呈现和返回特定页面,我希望通过返回 ModelAndView 对象来实现。是通过要求我的所有控制器方法返回 ModelAndView 来实现这一点的唯一方法吗?

我想要的控制器示例:

@Controller
public class MyController() {
   @Authenticated
   @RequestMapping("/myscore")
   public String myScorePage(ModelMap model) {
      return "myScorePage";
   }

   @Authenticated
   @RequestMapping("/anotherPage")
   public ModelAndView something() {
      return new ModelAndView("anotherPage",someModelStuff());
   }
}

@Aspect
public class NotVeryUsefulAspect {
   @Around("@annotation(Authenticate)")
   public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
       if( isAuthenticated() ) {
           return pjp.proceed();
       } else {
           return /* Oh no what goes here, I want to render a FAILURE page without …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc spring-aop

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

如何验证git项目的发布分支的修复程序是否已合并到master中?

我有一个工作的项目的git存储库.每次我们发布我们的软件版本时,我们都会为它创建一个发布分支.有一个release1.0分支,一个1.1版本分支等.当我们需要为该版本创建一个修补程序时,我们将修复程序提交到该发行版分支,然后我们将该修复程序合并到我们的主开发分支中.

有时我们忘记了我们急于修复生产错误的最后一步,然后新版本没有我们之前问题的修补程序.

是否有一个简单的git命令检查我们所有的发布分支是否已合并为master,如果没有,哪些分支提交?

git

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

如何使用 Java 从 Google Cloud Storage 逐行读取巨大的 CSV 文件?

我是 Google Cloud Platform 的新手。我正在尝试逐行读取 Google Cloud Storage(通过服务帐户密钥访问的非公共存储桶)中的 CSV 文件,大约 1GB。

我找不到任何选项来逐行读取 Google Cloud Storage (GCS) 中存在的文件。我只看到块大小/字节大小选项的读取。由于我正在尝试读取 CSV,因此我不想使用按块大小读取,因为它可能会在读取时拆分记录。

迄今为止 尝试过的解决方案:尝试将 GCS 中存在的 CSV 文件中的内容复制到临时本地文件并使用以下代码读取临时文件。下面的代码按预期工作,但我不想将大文件复制到我的本地实例。相反,我想从 GCS 逐行读取。

    StorageOptions options = 
    StorageOptions.newBuilder().setProjectId(GCP_PROJECT_ID)
            .setCredentials(gcsConfig.getCredentials()).build();
    Storage storage = options.getService();
    Blob blob = storage.get(BUCKET_NAME, FILE_NAME);
    ReadChannel readChannel = blob.reader();
    FileOutputStream fileOuputStream = new FileOutputStream(TEMP_FILE_NAME);
    fileOuputStream.getChannel().transferFrom(readChannel, 0, Long.MAX_VALUE);
    fileOuputStream.close();
Run Code Online (Sandbox Code Playgroud)

请建议方法。

nio google-cloud-storage google-cloud-platform

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

我应该使用哪个Java模板系统来生成电子邮件?

我有一个使用JSP作为其视图技术的网站(以及下面的Spring MVC).不幸的是,JSP对于任何不涉及HTTP会话的事情都是一种痛苦.我希望能够偶尔向我的用户发送一些电子邮件,我想使用类似JSP的东西来呈现电子邮件的内容.我所知道的技术包括:

  • JSP - 我认为它可以被迫为这类事情工作.非常糟糕的情况,我可以从我自己的网络服务器请求页面并将其呈现为电子邮件(呃!)
  • 速度 - 我听说过这个好东西,我倾向于它.
  • StringTemplate - 看起来没问题,但我担心一年内没有新版本发布.

在Java系统中是否有一种首选的模板技术?人们一般会推荐Velocity吗?是否有一种使用JSP进行更通用任务的好方法?

java spring jsp velocity templating

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

使用Hibernate条件和FetchMode.JOIN进行分页

我有两张桌子,'玩家'和'物品'.玩家有一个项目列表.我想使用分页来检索玩家及其所有物品.我想基于玩家分页,而不考虑有多少项目.

所以我这样做:

Criteria c = session.createCriteria(Players.class).setFetchMode("items", FetchMode.JOIN);
c.addOrder(Order.asc("playerID"));
c.setFirstResult(0);
c.setMaxResults(25);
List<Player> players = c.list();
Run Code Online (Sandbox Code Playgroud)

这会给我前25名球员,还是会给我前25项(按球员分组)?我想知道这种行为是否像JPA查询一样未定义,或者是否有保证答案.

无论如何,什么是Criteria查询会给我前25名球员或前25名球员项目组合(按球员ID排序,然后是项目ID)?

hibernate hibernate-criteria

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

截断所有表的简单方法,清除一级和二级hibernate缓存?

我正在为我正在研究的S​​pring/Hibernate应用程序编写一些集成测试,我想尽可能接近真实条件进行测试,包括使用Hibernate的二级缓存和提交事务.

我想知道是否有一种有效的方法让Hibernate从数据库和缓存中删除所有内容.我能想到的最好的就是为每种类型的对象使用HQL"从XImpl删除"行,但我有几十个域对象,感觉应该有更好的方法.

java orm unit-testing hibernate

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

最快的Java Web模板语言

我即将开始一个新的Spring MVC项目,我正在研究视图的各种选项.我从来都不是JSP的粉丝,过去我遇到过与JSP相关的性能问题,所以我正在研究其他选项.我希望在某个地方有人对各种选项进行普查(也许它必须是我),并宣布哪些是快速的,或者至少有哪些选项.以下是我想到的选择,从明显到奇怪的排序:

  • JSP,JSTL
  • 速度
  • FreeMarker的
  • GSP(Groovy JSP)
  • ERB由IronRuby或一些这样的疯狂驱动

列表的任何建议,个人偏好或其他好的选择?

java grails spring java-ee

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

使用Cassandra RandomPartitioner订购数据

我想在Cassandra中存储大约10亿条数据.数据项按时间排序,我要做的一个主要查询是按顺序查找两个时间范围之间的项目.如果可能的话,我真的更喜欢使用RandomParititioner.在Cassandra有办法做到这一点吗?

起初,因为我来自SQL,我假设我应该将每个事件创建为一行,但后来我发现我正在考虑错误的方式而且我应该使用列.Cassandra中的列似乎是有序的,但我对它们的有序性感到困惑.如果我使用时间作为列名,有没有办法让我按顺序将所有列从一次到另一次?

我看到的另一件事是二级索引的0.7特性,但是我找不到文档是否可以使用这些来按顺序查看一系列内容.

我想要的只是这个SQL的Cassandra等价物:"选择*来自Stuff,其中日期> X和日期<Y按日期排序asc".我怎样才能做到这一点?

cassandra nosql

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

如何获取刷新令牌以使命令行 gsutil 正常工作?

我使用 gsutil 将文件从 Windows 计算机传输到 Google Cloud Storage。

我已经有 6 个多月没有使用它了,现在当我尝试它时,我得到:

失败:invalid_grant

通过研究,我怀疑访问令牌不再有效,因为它已经 6 个月没有使用了,我需要刷新令牌吗?

我似乎找不到如何获取和使用它。

谢谢

运行gsutil -DD config会产生以下输出:

C:\Python27>python c:/gsutil/gsutil -DD config 

DEBUG:boto:path=/pub/gsutil.tar.gz
DEBUG:boto:auth_path=/pub/gsutil.tar.gz
DEBUG:boto:Method: HEAD
DEBUG:boto:Path: /pub/gsutil.tar.gz
DEBUG:boto:Data:
DEBUG:boto:Headers: {}
DEBUG:boto:Host: storage.googleapis.com
DEBUG:boto:Params: {}
DEBUG:boto:establishing HTTPS connection: host=storage.googleapis.com, kwargs={'timeout': 70}
DEBUG:boto:Token: None
DEBUG:oauth2_client:GetAccessToken: checking cache for key *******************************
DEBUG:oauth2_client:FileSystemTokenCache.GetToken: key=******************************* not present (cache_file= c:\users\admini~1\appdata\local\temp\2\oauth2_client-tokencache._.ea******************************)
DEBUG:oauth2_client:GetAccessToken: token from cache: None
DEBUG:oauth2_client:GetAccessToken: fetching fresh access token...
INFO:oauth2client.client:Refreshing access_token connect: (accounts.google.com, 443) 
send: 'POST /o/oauth2/token HTTP/1.1\r\nHost: accounts.google.com\r\nContent-Length: 177\r\ncontent-type: …
Run Code Online (Sandbox Code Playgroud)

google-cloud-storage gsutil

0
推荐指数
1
解决办法
5181
查看次数