我有一个项目,我需要做一个获取请求,获取核心数据实体的最新"更新"日期.当我实际检查查询返回的结果时,我看到一些相当奇怪的行为.除了包含日期的"正确"结果外,结果还包括空字典项.无论基础数据是什么样的,每次都会发生这种情况.更奇怪的是,如果我打开xcode中的sql登录并对sqllite db执行记录查询,它会生成正确的结果而没有额外的条目.我不太确定我在这里做错了什么,任何帮助都会受到赞赏.
构建和执行查询的函数:
func queryForContactDate(context:NSManagedObjectContext) -> AnyObject?
{
var expressionDescriptions = [AnyObject]();
let expressionDescription = NSExpressionDescription()
// Name the column
expressionDescription.name = "maxUpdated"
// Use an expression to specify what aggregate action we want to take and
// on which column. In this case max on the update_at column
expressionDescription.expression = NSExpression(format: "@max.updated_at")
// Specify the return type we expect
expressionDescription.expressionResultType = .DateAttributeType
// Append the description to our array
expressionDescriptions.append(expressionDescription)
// Build out our fetch request the usual way …Run Code Online (Sandbox Code Playgroud) 我在osx(10.11)服务器上运行的gitlab实例遇到一些重大问题。这是从源代码构建的自托管gitlab-ce。直到上周,当我尝试从8.5版本升级到8.6时,它的运行情况都很好。在遇到一些构建问题后,我最终回滚到8.5,但是配置中的某些内容在此过程中被破坏了。
目前,如果我明确包含nginx端口,则可以在osx服务器上运行的浏览器中打开gitlab网站,然后才能访问它。如果尝试通过带有或不带有显式端口的远程浏览器访问它,则会收到“无法访问此站点”错误。我已经尝试了所有可以想到的方法来按工作顺序进行搅拌,但似乎无济于事。有很多潜在的配置文件和选项,我什至不知道在哪里看。
任何帮助,将不胜感激。
更新: 通过一些额外的尝试和错误,我可以在本地访问我的gitlab而无需指定端口。但是,不幸的是,远程访问仍然顽固地中断了。我真正需要的是在osx上为gitlab运行的NGINX配置的示例。
Update 2.0 远程访问问题原来是防火墙问题。修复使我充满了生机。我可以通过指定端口来访问gitlab,但是我不知道如何设置代理以使用默认Web端口(80)。我知道绑定到该端口需要root访问权,但是即使使用sudo,也会出现“权限被拒绝”错误。
更新第三个更新 按照建议,我在此处发布了另一个问题:https : //serverfault.com/questions/960051/nginx-unable-to-bind-to-port-80-in-osx-server,因为我的问题已经超出了原始问题的范围。
我在IOS8中使用新的UISearchController时遇到了麻烦.到目前为止,我发现的每个例子都使用搜索栏作为UITableView的标题视图.当搜索栏需要在其他地方显示时,你会怎么做?例如,将搜索栏放在表格之外以防止其滚动?用它来像UICollectionView一样呢?
我在这里错过了什么吗?这似乎不应该那么复杂.
我最近将托管我们代码仓库的开发服务器更新到了较新版本的Ubuntu(18.04)。作为该过程的一部分,git已升级到版本2.23.0。部署代码的实际应用服务器需要能够从git存储库中签出最新更改。当我尝试在这些服务器上执行“ git fetch”操作时,我收到一长串如下所示的错误:
错误:索引文件./objects/pack/._pack-5b58f700fea57ee6f8ff29514a376b945bb1c8a9.idx太小
我进行了一些挖掘,以查看是否可以提出解决方案,但到目前为止,该方法已奏效。我尝试了在这里列出的答案:git错误:“索引文件太小”。既未解决问题,也git index-pack未git repack -a -d解决。我什至尝试从应用程序服务器中删除文件的本地副本,并使用git clone重新安装。克隆本身引发了一堆类似于以前的错误
远程:错误:索引文件./objects/pack/._pack-5b58f700fea57ee6f8ff29514a376b945bb1c8a9.idx太小
在这一点上,我没有想法。任何帮助,将不胜感激。
编辑:的输出du -h表明有足够的磁盘空间。
我正在开发一个混合了 swift 和 obj-c 代码的 ios 应用程序。我的 obj-c 模型类之一定义了一个包含字符串的结构,以帮助转换为字典并返回。我有桥接头设置,我可以在 swift 类中访问 Objective-C 类中定义的方法。我不知道如何访问静态结构来获取我的属性字符串。这是我的 .h 和 .m 文件的片段:
订单项.h
extern const struct OrderItemAttributes {
__unsafe_unretained NSString *created;
__unsafe_unretained NSString *created_by_id;
__unsafe_unretained NSString *device_deleted;
} OrderItemAttributes;
@interface OrderItem : NSManagedObject {}
@property (nonatomic, strong) NSDate* created;
@end
Run Code Online (Sandbox Code Playgroud)
订单项.m
const struct OrderItemAttributes OrderItemAttributes = {
.created = @"created",
.created_by_id = @"created_by_id",
.device_deleted = @"device_deleted",
};
@implementation OrderItem
@dynamic created;
@end
Run Code Online (Sandbox Code Playgroud)
我以为我可以简单地使用
OrderItem.OrderItemAttributes.created
访问属性字符串,但 swift 不接受该语法。有没有办法在不对我的 Objective-C 代码进行重大更改的情况下做我想做的事情?
我正在开发一个需要与现有 Objective-C api 交互的 swift 项目。不过,我在使用其中一个功能时遇到了一些障碍。在objective-c 头文件(OrderItem.h)中,我有这个函数定义:
+ (NSString *_Nullable)getOptional:(NSString *_Nonnull)foo error:(NSError *_Nullable *_Nullable)error;
Run Code Online (Sandbox Code Playgroud)
特别要注意最后一个参数;因为它是一个错误指针,在 swift 中调用此方法将需要包含在错误处理程序中(do .. catch)。
这是相应的 .m 文件:
+ (NSString *)getOptional:(NSString *)foo error:(NSError *__autoreleasing *)error
{
if([foo isEqualToString:@"abc"])
{
return @"abc item";
}
else
{
if([foo isEqualToString:@"xyz"])
{
*error = [[NSError alloc] init];
}
return nil;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的 swift 文件中,我添加了以下代码:
func testGetOptional()
{
do
{
var result:NSString? = try OrderItem.getOptional("abc");
XCTAssertNotNil(result);
result = try OrderItem.getOptional("123");
XCTAssertNil(result);
}
catch let error as NSError
{
XCTFail("OrderItem lookup …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用apache Web服务器设置SVN repo.我能够在没有太多问题的情况下创建和配置repo.我可以通过浏览器访问repo,所以我认为apache配置是正确的.当我尝试进行初始提交时出现问题.当我在终端中运行commit命令时,它会在返回之前挂起几分钟svn: E175012: Connection timed out.初始提交是一个小于100kb的单个文件.更奇怪的是,在命令超时后,似乎在我的系统上创建了一个使用90%CPU的HTTPd进程.
我做了一些研究,看看我是否可以自己解决问题,但到目前为止还没有任何效果.我能够使用Charles Proxy监视HTTP请求,看起来svn客户端正在发送POST,但它从未接收到来自服务器的响应.在默认超时(10分钟)后,客户端放弃并显示超时错误.
我也尝试使用SvnServe而不是apache来设置repo .我能够使用svn://读取和写入repo.但是,我正在处理的代码希望通过HTTP与repo进行通信,所以我仍然需要弄清楚apache的问题.
有谁知道可能导致这个问题的原因是什么?我可以采取其他任何措施来解决问题吗?
[更新]
我检查了我的apache服务器的日志.这是我在运行提交时看到的内容:
_myip_ - - [28/Feb/2017:10:04:04 -0500] "OPTIONS /my/repo HTTP/1.1" 200 190 "-" "SVN/1.9.5 (x86_64-apple-darwin16.1.0) serf/1.3.9"
_myip_ - - [28/Feb/2017:10:04:04 -0500] "OPTIONS /my/repo HTTP/1.1" 200 97 "-" "SVN/1.9.5 (x86_64-apple-darwin16.1.0) serf/1.3.9"
[更新2] 为了进一步缩小此问题的原因,我尝试在Linux虚拟机中设置不同的apache服务器.该服务器运行良好,我甚至能够从osx读取/写入它.所以看起来问题是OSX上的apache服务器特有的.
我正在将遗留应用程序从 Jboss 6 迁移到 Wildfly 18。当我尝试通过 maven 打包我的应用程序时,出现错误:
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:
Found Banned Dependency: javax.inject:javax.inject:jar:1
Found Banned Dependency: javax.activation:activation:jar:1.1
Found Banned Dependency: stax:stax-api:jar:1.0.1
Found Banned Dependency: org.slf4j:slf4j-log4j12:jar:1.7.25
Found Banned Dependency: com.sun.mail:javax.mail:jar:1.5.6
Found Banned Dependency: com.google.inject:guice:jar:4.2.3
Use 'mvn dependency:tree' to locate the source of the banned dependencies.
[WARNING] Rule 1: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability. See above detailed error message.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.775 s
[INFO] Finished …Run Code Online (Sandbox Code Playgroud) 我无法弄清楚如何让routeProvider等到远程调用返回.我见过的最好的解决方案是这里的例子:延迟角度路线变化 .不幸的是,当我厌倦将该示例应用于我自己的代码时,绑定将在数据实际加载之前触发.有没有人知道另一个使用角度1.1.5的新资源语法的例子($ promise可以直接访问)?
这是我的代码的样子:
var productModule = angular.module('productModule', ['ngResource', 'ngLocale']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html',
controller: 'ResourceCtrl as appController' ,
resolve:
{
productData: function($resource)
{
console.log(["calling service"]);
return $resource(Services.ProductServices.PATH).query(null,
function(data){
console.log(["call succeeded"]);
},
function(data){
console.log(["calling failed"]);
}).$promise;
}
}
});
$routeProvider.when('/view2', {templateUrl: 'partials/partial2.html'});
$routeProvider.otherwise({redirectTo: '/view1'});
}]) ;
productModule.controller('ResourceCtrl','$scope','productData',function($scope,productData) {
$scope.productData = productData;
console.log(["promise resolved"]);
}]);
Run Code Online (Sandbox Code Playgroud)
如果我运行该代码,控制台将显示:
我在应用程序部署期间遇到了一些休眠验证问题。我有两个类,Frame 和 FrameReleasePlan,它们以 OneToOne 关系关联。在数据库方面,关系是单向的。frame_release_planss 表有一个 NUMERIC(19,0) 类型的“frame_id”列,它是指向框架表的“id”列的外键。当我尝试部署时,架构验证失败并出现以下错误:
无法构建 Hibernate SessionFactory。引起原因:org.hibernate.tool.schema.spi.SchemaManagementException:架构验证:表 [frame_release_plans] 中的列 [frame_id] 中遇到错误的列类型;找到了 [numeric (Types#NUMERIC)],但期望 [bigint (Types#BIGINT)]"}
我尝试使用 @JoinColumn 注释的“columnDefinition”参数手动指定列类型,但没有什么区别。有没有办法通过将数据库列更改为“bigint”来解决此问题?
持久性.xml
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="ProductPersistenceUnit"
transaction-type="JTA">
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServer2012Dialect"/>
<property name="hibernate.hbm2ddl.auto" value="validate" />
<property name="hibernate.id.new_generator_mappings" value="false"/>
</properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
代码片段:
@Entity(name = "FrameReleasePlan")
@Table(name = "frame_release_plans")
@Audited
@Access(AccessType.FIELD)
public class FrameReleasePlan extends AbstractFrameReleasePlan
{
@OneToOne
@JoinColumn(name = "frame_id")
protected Frame frame;
}
@Entity(name = "Frame")
@DiscriminatorValue("FRAME")
public class Frame extends Product
{
@OneToOne(mappedBy …Run Code Online (Sandbox Code Playgroud) 我有一个在Objective-c标头中定义的枚举,如下所示:
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface CustomerAndProspectMapViewController : UIViewController<MKMapViewDelegate>
typedef NS_ENUM(NSInteger, TypeEnum)
{
PROSPECT,
CUSTOMER
};
@end
Run Code Online (Sandbox Code Playgroud)
然后在实现中我有一个函数,它将TypeEnum作为参数并使用开关来运行一些条件代码:
-(void) handleTestNavigation:(NSString *)accountId :(TypeEnum)accountType
{
switch(accountType)
{
CUSTOMER:
{
[self performSegueWithIdentifier:@"customerDetails" sender:accountId];
break;
}
PROSPECT:
{
[self performSegueWithIdentifier:@"prospectDetails" sender:accountId];
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,枚举的两个选项在交换机中都有相应的路径.但出于某种原因,我收到编译器警告说
在切换中未处理枚举值'PROSPECT'和'CUSTOMER'
为了确保,我在该方法中加入了一些断点.正如警告所示,虽然没有遇到过案件但它已经下降了.我也尝试重命名枚举值,以确保它们在某处并没有任何冲突.我完全被这里难住了.任何帮助将非常感激.
我正在开发一个 spring-boot 应用程序。我有一个名为 Message 的实体类,我想使用 Spring 验证对其进行验证。我需要验证的字段之一是 LocalDateTime,它不得早于当前日期 6 天。我的实体类如下所示:
@Entity
@EntityListeners(AuditingEntityListener.class)
public class Message implements Validator {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", length = 100, nullable = false, unique = true)
private long id;
@Column(name = "start", length = 20, nullable = true)
private LocalDateTime start;
public Message() {}
@Override
public boolean supports(@NotNull Class<?> clazz) {
return Message.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {
Message m = (Message) target;
if(m.getStart() != null && m.getStart().isBefore(LocalDateTime.now(clock).minusDays(6))) …Run Code Online (Sandbox Code Playgroud) objective-c ×3
swift ×3
java ×2
angularjs ×1
apache ×1
config ×1
constants ×1
core-data ×1
datetime ×1
debian ×1
entity ×1
enums ×1
git ×1
gitlab ×1
guice ×1
haproxy ×1
hibernate ×1
ios ×1
ios8 ×1
javascript ×1
jboss ×1
jpa ×1
linux ×1
maven ×1
nginx ×1
optional ×1
promise ×1
spring ×1
sql-server ×1
struct ×1
svn ×1
throw ×1
ubuntu ×1
uisearchbar ×1
validation ×1
webserver ×1
wildfly ×1