小编Jam*_*rke的帖子

在部署期间将git版本号插入文件中

我认为我应该做的相当简单,但我似乎无法弄清楚如何让它发挥作用.

我想在html和javascript文件中嵌入一个唯一的版本号,原因有两个.第一个原因是我想确保在加载javascript文件时,如果有新版本,系统不会尝试使用缓存,但如果我可以使用像

 <script src="/app.js?v1.0.1-1-95425234"></script>
Run Code Online (Sandbox Code Playgroud)

我几乎肯定能确保这一切都不会发生.第二个原因是我的远程错误记录,最好知道系统的哪个版本有错误,这样我就可以适当地修复它,但不必在每次部署时手动更新这个版本号.

git describe一路走来,我认为它的输出值非常适合这个.

基本上我想在我的javascript和html文件中取一个键,GIT-CURRENT-VERSION并将其替换为输出git describe

我正在使用fabric作为我的部署方法,所以在我们抓住最新版本的git之后,这在服务器端会很有意义.

我怀疑这里有一些组合sed并且grep可以解决这个问题,如果我能找到一个内衬,那么添加到我的部署脚本会非常容易.

提前致谢!

git fabric

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

Twilio Client for android没有音频

我正在尝试Twilio Android Quickstart,我已经到了Make a outgoing call部分的结尾,但出于某种原因.我没有听音频.

我能够看到请求正确地发送到Twilio,因为Twilio正在访问我的应用程序的语音请求URL.几秒钟后,我可以在LogCat中看到了Connection disconnected successfully.

我有一个Nexus 4和一个我一直在尝试的Nexus 7,以及具有类似结果的Android Emulator.

我在浏览器中尝试了WebRTC客户端,我的端点看起来运行正常,所以我的想法很简短.

任何帮助将不胜感激.

twilio

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

如何使用匕首设计Android应用程序并考虑测试

我是匕首的新手,最近我开始在自己的一个项目中使用匕首,因为能够以不同的方式处理依赖注入的概念用于测试和生产,因此能够注入我可以用于测试的模拟对象很棒.

我修改了我的应用程序,以遵循dagger simple-android示例中的样式.

设置完毕后,我发现注入存在问题,并且我无法使用测试逻辑完全超载生产应用程序中的注入.

我正在寻找关于如何设置它的建议,以便我的测试可以实际注入与模拟或其他对象的差异,以便根据需要进行测试,而不是过于愚蠢.目前,MainActivityTest被正确注入,但是当我们到达MainActivity时,它会转到PhoneApplication并使用它的对象图注入

我已经把我下面的内容包括在内了.任何帮助将不胜感激!


这是我的PhoneApplication,基于DemoApplication.

public class PhoneApplication extends Application {
    private ObjectGraph graph;

    @Override
    public void onCreate() {
        super.onCreate();

        graph = ObjectGraph.create(getModules().toArray());
    }

    protected List<Object> getModules() {
        return Arrays.asList(new AndroidModule(this), new PhoneModule());
    }

    public void inject(Object object) {
        graph.inject(object);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的AndroidModule

@Module(library = true, injects = MainActivity.class)
public class AndroidModule {
    private final Context context;

    public AndroidModule(Context context) {
        this.context = context;
    } …
Run Code Online (Sandbox Code Playgroud)

testing android unit-testing dependency-injection dagger

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

AWS Fargate 部署:“无效的操作配置 AWS ECS 容器 ***** 不存在”

我正在使用 terraform 来提供所需的资源。

我有一个 terraform 代码管道resource,它Production stage读取imagedefinitions.json文件以了解要部署哪些图像:

resource "aws_codepipeline" "pipeline" {
  stage {
    name = "Build"
    action {
      name             = "Build"
      category         = "Build"
      owner            = "AWS"
      provider         = "CodeBuild"
      version          = "1"
      input_artifacts  = ["source"]
      output_artifacts = ["imagedefinitions"]
      configuration {
        ProjectName = "${var.project_prefix}-codebuild"
      }
    }
  }
 stage {
    name = "Production"
    action {
      name            = "Deploy"
      category        = "Deploy"
      owner           = "AWS"
      provider        = "ECS"
      input_artifacts = ["imagedefinitions"]
      version         = "1"
      configuration { …
Run Code Online (Sandbox Code Playgroud)

deployment amazon-web-services amazon-ecs terraform aws-fargate

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

如何绑定到Xamarin.iOS中的基类型和协议

我正在尝试构建一个使用Cordova库的xamarin应用程序.我一直在为我需要的库的组件进行自己的绑定,到目前为止,它一直运行良好.

今天我遇到了一个有趣的问题.我试图webView: shouldStartLoadWithRequest:CDVViewContainer 这里覆盖可用的方法.

我查看了Xamarin绑定指南和Xamarin 高级绑定指南.这两个都注意到协议类似于接口,并且如高级绑定指南中所示

@interface UITextField : UIControl <UITextInput> {

}
Run Code Online (Sandbox Code Playgroud)

会翻译成

[BaseType (typeof (UIControl))]
interface UITextField : UITextInput {
}
Run Code Online (Sandbox Code Playgroud)

基于此,我翻译了

@interface CDVViewController : UIViewController <UIWebViewDelegate, CDVScreenOrientationDelegate>{

}
Run Code Online (Sandbox Code Playgroud)

[BaseType (typeof (UIViewController))]
interface CDVViewController : UIWebViewDelegate {

}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试制作我的绑定库时,我得到了

Cordova.cs(26,39): error CS0527L Type `MonoTouch.UIKit.UIWebViewDelegate' in interface list is not an interface. 
Run Code Online (Sandbox Code Playgroud)

我检查了Apple规范,这实际上是一个协议.任何人都可以帮我弄清楚我做错了什么?

xamarin.ios xamarin

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

在 C# 中使用反射访问和修改 xaml 元素

我有一个模型,它有许多属性,这些属性可能为空,也可能不为空,具体取决于数据是否可用于远程服务器上的这些特定属性。

我正在构建一个简单的 Windows Phone 应用程序,该应用程序可以在手机上提供更容易访问的版本的信息。我发现在没有设置上面模型的属性的情况下,该值不会显示(显示空白),但标签仍然显示。

在考虑了许多不同的替代方案(包括大量的 if 语句,呃)之后,我决定,如果我在 xaml 中设置特定属性的名称以匹配我正在查看的数据模型的属性,那么我让系统实时分析数据模型的属性以及我的 xaml 的元素。如果我的 xaml 中的属性与模型中的属性名称匹配,并且模型为空,我可以将可见性转为折叠。如果模型不为空,则使其可见。因此,我可以获得一个干净、动态的解决方案,仅显示实际可用的数据。

这是代码

PropertyInfo[] properties = data.GetType().GetProperties();

foreach (PropertyInfo property in properties)
{

    FieldInfo view = this.GetType().GetField(property.Name);

    if (view != null)
    {
        if (property.GetValue(data, null) == null)
        {
            object aView = view.GetValue(this);
            aView.GetType().GetProperty("Visibility").SetValue(aView, "Collapsed", null);
        }
        else
        {
            object aView = view.GetValue(this);
            aView.GetType().GetProperty("Visibility").SetValue(aView, "Visible", null);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我遇到了障碍。我不知道如何访问 xaml 元素。我尝试过使用

this.GetType().GetProperties()
this.GetType().GetFields()
this.GetType().GetMembers()
Run Code Online (Sandbox Code Playgroud)

找到我正在寻找的元素,但它们没有出现在其中任何一个中。我有什么遗漏的吗?

有没有更好、更美观的方法呢?

在此先感谢您的帮助。

c# reflection xaml windows-phone-7

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

在哪里可以找到System.Runtime.Caching以在Windows窗体应用程序中引用

我正在编写一个相当简单的Windows窗体工具来帮助我在数据库上执行某些操作.我经常需要去数据库获取ID,我无法取消获取ID.

我发现了一些引用它,比如这个,它们都建议我应该寻找System.Runtime.Caching,但是当我去Add Reference时,没有System.Runtime.Caching组件.

我在这里错过了什么吗?

.net c# .net-4.0 winforms

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