小编Ben*_*ins的帖子

Git包文件条目格式

我对Git包文件格式的理解如下: 替代文字

表是32位宽,前三个32位字是包文件头.最后一行32位是条目的前4个字节.据我所知,条目的大小由MSB集的连续字节指定,后跟压缩数据.

在没有设置MSB的第一个字节中,是压缩数据的MSB部分,还是间隙?如果它是压缩数据的一部分,那么如何保证压缩数据时该位不会被设置?

git file-format

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

为什么 Giraffe/AspNetCore + SignalR 依赖注入无法解析 MailboxProcessor 单例?

我正在设置一个简单的Giraffe应用程序,其中包含一个或两个端点和一个 SignalR 集线器。我所拥有的是这样的:

type JsonBlob = JsonProvider<"Blob.json">
type Message = 
    | GetBlobs of AsyncReplyChannel<JsonBlob.Root list>
    | PostBlob of JsonBlob.Root

type JsonBlobHub(agent : MailboxProcessor<Message>) =
    inherit Hub()
    member self.RespondToClient() =
        let blobs = agent.PostAndReply(GetBlobs)
        self.Clients.All.SendAsync("ReceiveBlobList", blobs)

let agentFactory(serviceProvider : IServiceProvider) =
    let thing = serviceProvider.GetService<Thing>()
    MailboxProcessor.Start(fun (inbox : MailboxProcessor<Message>) ->
        /* loop implementation */
    )

// other stuff
let configureApp (app : IApplicationBuilder) =
    app.UseSignalR(fun routes -> routes.MapHub<JsonBlobHub>(PathString "/blobhub")) |> ignore
    app.UseGiraffe webApp // webApp defined elsewhere, not important …
Run Code Online (Sandbox Code Playgroud)

f# dependency-injection asp.net-core f#-giraffe

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

NSUserDefaults在模拟器上首次运行时不存在

我在Settings.bundle中保存了一些设置,我尝试使用它们application:didFinishLaunchingWithOptions,但是在模拟器上第一次运行时,按键访问对象总是返回nil(或者在int的情况下为0).一旦我进入设置屏幕然后退出,它们就可以在之后的每次运行中正常工作.

这是怎么回事?在Settings.bundle中使用默认值是否能够在不要求用户首先输入的情况下使用它们?

iphone nsuserdefaults

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

textField.clearButtonMode =/*无论*/不起作用

我正在创建一个textField并将其添加到这样的视图中:

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(/*blah blah */)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.clearButtonMode = UITextFieldViewModeAlways;

[otherView addSubview:textField];
Run Code Online (Sandbox Code Playgroud)

文本字段按预期otherView呈现,但无论我分配给clearButton的值是什么,都不会呈现clear按钮.有谁知道这可能导致什么?

iphone cocoa-touch objective-c uikit ios

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

使用Traefik在子网址上反向代理Grafana;404回应

我已经尽力遵循Grafana和Traefik的文档,以将https://metrics.mydomain/grafana通过Traefik的代理传入请求反向转发给作为容器运行的Grafana实例,但是我从Grafana收到404响应,我不知道为什么。

在阅读文档并尝试在docker-compose.yml文件中进行各种操作后,这是我要做的事情:

version: '3'
services:
  traefik:
    image: traefik
    restart: always
    ports:
     - 80:80
     - 443:443
     - 8080:8080
    volumes:
     - /var/run/docker.sock:/var/run/docker.sock
     - /home/ben/traefik.toml:/etc/traefik/traefik.toml
     - /etc/letsencrypt/live/mydomain/fullchain.pem:/mydomain_fullchain.pem
     - /etc/letsencrypt/live/mydomain/privkey.pem:/mydomain_privkey.pem
  grafana:
    image: grafana/grafana
    restart: always
    ports:
     - 3000:3000
    volumes:
     - /srv/grafana:/var/lib/grafana
    environment:
     - GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s:%(http_port)s/grafana
    labels:
     - traefik.enable=true
     - 'traefik.frontend.rule=Host:metrics.mydomain;PathPrefix:/grafana;'
     - 'traefik.frontend.redirect.entryPoint=https'
Run Code Online (Sandbox Code Playgroud)

Traefik 确实对此有所了解。这是它在仪表板上显示的内容:

在此处输入图片说明

但是,当我实际请求时https://metrics.mydomain/grafana,我得到的是404和一个错误文档,然后是自定义错误文档所请求的资源的后续404:

在此处输入图片说明

最后,最令人困惑的是,似乎Grafana本身收到的请求是正确的,但仍然导致404:

method=GET path=/grafana status=404 remote_addr=192.168.0.1
method=GET path=/grafana/public/build/grafana.dark.css status=404 remote_addr=192.168.0.1
...etc
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这么挑剔,而且(对我来说)似乎没有任何证据表明实际问题是什么。

ps-我确实对似乎相关的Grafana问题发表了评论。 https://github.com/grafana/grafana/issues/2066#issuecomment-380647174

grafana traefik

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

UIButton上的详细披露指标

有没有一种简单的方法在UIButton上放置详细信息披露图标?我正在使用导航控制器,我想按下按钮按下堆栈上的新视图,所以我认为详细的披露图标是合适的,但我还没有找到一种简单的方法来做到这一点.

我想到的是像Clock应用程序的Timer子视图中的"When Timer Ends"按钮.

iphone

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

带有nib作为子视图的自定义视图似乎没有加载

我创建了一个自定义视图,从nib加载其内容,如下所示:

/* PricingDataView.h */

#import <UIKit/UIKIt.h>

@interface PricingDataView : UIView {
  UIView *contentView;
}
@property (nonatomic, retain) IBOutlet UIView *contentView;
@end

/* PricingDataView.m */

#import "PricingDataView.h"

@implementation PricingDataView
@synthesize contentView;

- (id)initWithFrame:(CGRect)frame {
  if ((self = [super initWithFrame:frame])) {
    [[NSBundle mainBundle] loadNibNamed:@"PricingDataView" owner:self options:nil];
    [contentView setFrame:frame];
    [self addSubview:contentView];
  }
  return self;
}

/* ... */
Run Code Online (Sandbox Code Playgroud)

在nib文件中,我设置PricingDataView为文件所有者的类型,并连接contentViewIB中的插座.我将UIView接口库中的常规放置到显示给用户的全尺寸视图,然后将其类名更改为PricingDataView.它全部构建,但在运行时,我的自定义视图应该是什么都没有呈现.

我把断点放进去PricingDataView.initWithFrame,但它们没有击中,所以我知道我错过了会导致视图被初始化的东西.我很好奇的是,在从nib加载我的其他视图的过程中,所有的初始化都发生在我身上,但不是这个.为什么?

iphone views objective-c interface-builder nib

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

从UINavigationController堆栈弹出时,UITableViewController有特殊行为吗?

我在标签栏应用程序中看到了一个奇怪的似乎过度释放的问题.我对此问题描述的复杂性表示歉意.希望一些示例代码可以提供帮助.

我将我的应用程序委托MyAppDelegate设置为UITabBarControllerDelegate:

- (BOOL)tabBarController:(UITabBarController *)tabBarControllerIn shouldSelectViewController:(UIViewController *)viewController {
    return YES;
}

- (void)tabBarController:(UITabBarController *)tabBarControllerIn didSelectViewController {
    if ([viewController isKindOfClass:[UINavigationController class]]) {
        UINavigationController *navController = (UINavigationController *)viewController;
        [navController popToRootViewControllerAnimated:NO];
    }
}
Run Code Online (Sandbox Code Playgroud)

选项卡栏视图设置UINavigationController为5个选项卡中的每一个.配置的for选项卡4中的根视图控制器(调用它CrashingViewController)UINavigationController是从UIViewController和支持子视图的协议UITableViewDataSourceUITableViewDelegate协议派生的,UITableView子视图只是一个4行表,每个单元允许用户导航到另一个视图.在-[UITableViewDelegate tableView:didSelectRowAtIndexPath:]:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    ASubViewController1 *svc1;
    ASubViewController2 *svc2;  // this one inherits from UITableViewController;
    ASubViewController3 *svc3;
    ASubViewController4 *svc4;

    switch (indexPath.row) {
        case 1:
            svc1 = [[ASubViewController1 …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c uikit ios4

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

目标C中的多态方法

在Java中,您可以将多个构造函数放入一个被调用的类中,这取决于构造实例时使用的参数的类型和/或数量.我假设在Objective C中有等价物.

我可以使用多态方法吗?

我想构建一个方法,根据字符串是传递还是双精度,行为略有不同?

这听起来有点疯狂吗?还是容易?

overloading objective-c

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

K运行时的明显"配置文件"之间有什么区别?

在设置了KRuntime 版本管理器并使用该kvm命令后,显然有两个"配置文件",可以说是运行时:

C:\Users\Administrator> kvm list

Active Version      Runtime Architecture Location                             Alias
------ -------      ------- ------------ --------                             -----
       1.0.0-alpha3 svr50   x86          C:\Users\Administrator\.kre\packages default
       1.0.0-alpha3 svrc50  x86          C:\Users\Administrator\.kre\packages
Run Code Online (Sandbox Code Playgroud)

这似乎让人想起了.NET Framework的客户端配置文件,它专为手机等而设计,现在已经在.NET 4.5+中被淘汰了.是svrsvrc类似的静脉建立,还是有其他一些区别?在aspnet的GitHub wiki中似乎没有对运行时的这些版本的任何引用.

asp.net-core

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