小编ryn*_*rtn的帖子

Git非快进被拒绝

我觉得这个问题已被多次询问,但解决方案通常是"我删除了目录并重新完成了我的工作." 我做了提交和推送,但意识到我在提交消息中提到了错误的票号.所以我在SO上寻找快速解决方案并最终在终端中键入以下内容:

$ git reset --soft HEAD^
$ git commit -m "... correct message ..."
Run Code Online (Sandbox Code Playgroud)

唯一的问题是我收到以下错误消息:

To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)

我正在使用git-flow模型,正在开发分支.我怎样才能将东西合并回来让git再次开心?

git version-control

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

Django管理员中的自定义验证

我有一个非常简单的Django应用程序,以记录给我的同事的讲座.由于它是相当基本的,我使用Django管理员本身.这是我的models.py:

#models.py
from django.db import models

class Lecture(models.Model):
    topic = models.CharField(max_length=100)
    speaker = models.CharField(max_length=100)
    start_date = models.DateField()
    end_date = models.DateField()
Run Code Online (Sandbox Code Playgroud)

我需要确保没有人在管理表单中的结束日期之后输入开始日期,所以我在管理员中阅读了django文档以进行自定义验证,并在我的admin.py中实现了以下内容:

#admin.py
from models import Lecture
from django.contrib import admin
from django import forms


class LectureForm(forms.ModelForm):
    class Meta:
        model = Lecture

        def clean(self):
            start_date = self.cleaned_data.get('start_date')
            end_date = self.cleaned_data.get('end_date')
            if start_date > end_date:
                raise forms.ValidationError("Dates are incorrect")
        return self.cleaned_data


class LectureAdmin(admin.ModelAdmin):
    form = LectureForm
    list_display = ('topic', 'speaker', 'start_date', 'end_date')

admin.site.register(Lecture, LectureAdmin)
Run Code Online (Sandbox Code Playgroud)

但是,这对我的管理员没有任何影响,我可以保存讲座,其中start_date位于end_date之后,如图所示:在此输入图像描述

我究竟做错了什么 ??

python django django-forms django-admin django-validation

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

运行iPhone/iPad模拟器进行持续集成

我试图从命令行运行iOS模拟器.我找到了可以运行iPhone模拟器的位置.我的问题是它是否可以接收参数来指定应该启动哪个设备以及应该运行哪个应用程序.

$ ./Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone\ Simulator

有谁知道这是否有窍门.了解更多信息对我们的持续集成流程非常有帮助.


我们现在使用WaxSim在CI构建期间自动化我们的iOS应用程序

iphone continuous-integration ipad ios ios-simulator

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

Protobuf架构的架构注册表

我正在调查Protobuf在我的组织中的使用,并且需要执行模式发现.我见过一些与Avro的Confluent Schema Registry相关的文章.有什么人使用Protobuf?

protocol-buffers

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

覆盖Hibernate注释

我正在开发一个使用Hibernate并连接到Oracle实例的Java应用程序.另一个客户端希望使用相同的应用程序,但要求它在MS SQL Server上运行.我想避免对现有注释进行更改,而是创建一个xml文件包,我们可以根据环境将其放入.

一种方法是使用JPA XML配置覆盖现有的类注释.但是,JPA不支持通用生成器,由于我们的遗留数据库的结构,这是一个要求.我正在研究的另一种方法是使用Hibernate XML配置重新映射整个类并访问generatorxml标记.这个解决方案有一些问题:

  • Hibernate不允许您有选择地覆盖实体成员
  • Hibernate不允许你重新映射同一个类(例如org.hibernate.AnnotationException: Use of the same entity name twice)

有没有人有使用Hibernate XML配置文件覆盖注释的经验,或者JPA是唯一的方法吗?

使用示例进行更新

在Oracle中,序列用于在将新记录插入数据库时​​生成唯一ID.然后以下列方式注释id:

@Id
@GeneratedValue(generator="EXAMPLE_ID_GEN", strategy=GenerationType.SEQUENCE)
@SequenceGenerator(name="EXAMPLE_ID_GEN", sequenceName="SEQ_EXAMPLE_ID")
@Column(name = "EXAMPLE_ID")
public String getExampleId() {
    return this.exampleId;
}
Run Code Online (Sandbox Code Playgroud)

但是,MS SQL Server没有Sequences的概念(思想差异).因此,您可以使用表生成器来模拟序列.

@Id
@GeneratedValue(generator="EXAMPLE_ID_GEN", strategy=GenerationType.TABLE)
@TableGenerator(name="EXAMPLE_ID_GEN", tableName="SEQUENCE", valueColumnName="VALUE", pkColumnName="SEQUENCE", pkColumnValue="EXAMPLE_ID")
public String getExampleId() {
    return this.exampleId;
}
Run Code Online (Sandbox Code Playgroud)

两种不同类型数据库的两种不同配置.请记住,这是一个遗留数据库,我们不会重写我们的应用程序来支持SQL Server身份,SQL Server的本机ID生成器(也需要不同的注释).

为了解决这个问题,我已经研究过使用Hibernate @GenericGenerator并将其指向我自己创建的一类模型org.hibernate.id.SequenceGenerator(或类似的东西),并通过扩展来定制表的结构org.hibernate.id.TableStructure.

回到我原来的问题 - 使用XML覆盖是否可以实现这一切?

我是如何解决这个问题的

所以,最后,我发现JPA和Hibernate没有提供我正在寻找的开箱即用功能.相反,我创建了一个自定义生成器,它检查数据库方言并适当地设置TableStructure.当我探索所有选项时,我最终使用了Hibernate的@GenericGenerator注释.这是Id生成注释的示例:

@Id
@GeneratedValue(generator="EXAMPLE_ID_GEN")
@GenericGenerator(name = "EXAMPLE_ID_GEN", strategy="com.my.package.CustomIdGenerator", parameters …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa

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

如何设置HornetQ演示

我正在尝试用自己的测试项目重新创建HornetQ示例.但是我有类加载器问题.显然我缺少一些未在文档中指定的依赖项.

文档让我补充一下

  • hornetq-core-client.jar
  • netty.jar
  • hornetq-jms-client.jar
  • jboss-jms-api.jar

我收到这个错误:

javax.naming.NoInitialContextException: Cannot instantiate class:
   org.jnp.interfaces.NamingContextFactory 
[Root exception is java.lang.ClassNotFoundException:
   org.jnp.interfaces.NamingContextFactory]
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到这个课程(以及可能需要的其他课程)?

hornetq

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

转义 < 足以防止 XSS 攻击

我正在与一位同事争论如何通过特定字符的编码来防止 XSS 攻击。用 逃避<角色会&lt;成功吗?

当我查看OWASP 发布的攻击向量备忘单时,似乎所有攻击都使用<字符作为执行的基础。

如果这不起作用,什么攻击可以打败它?

security xss

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

在JPA/Hibernate中覆盖默认的remove()/ DELETE

我们的客户希望将记录标记为已删除,而不是删除记录.我们正在使用JPA2/Hibernate.我想做类似以下的事情:

@Entity
@Table(name="TABLE")
@ActionOverride(action="delete", with="activeFlag = false")
public class Table {
    @Column(name="ACTIVE_FLAG")
    boolean activeFlag;

    // ...

}
Run Code Online (Sandbox Code Playgroud)

我过去做过这个,但我似乎无法找到正确的语法和注释.

hibernate

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

Git-有人还原提交,如何找到谁?什么时候?

我们的团队(很大的团队)使用git,而我是git newbie。

从来源/母版中拉出后,我发现我的来源已回滚。如果仅使用Just git log,某些文件提交将消失,但是我可以看到丢失的提交log --full-history

但是,如何找到回滚我的源代码以及何时回滚?

git

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