小编Kir*_*rst的帖子

Git符号引用的推荐用法是什么?

以下shell代码正确创建了一系列符号引用

git symbolic-ref "first" "refs/heads/master"
git symbolic-ref "second" "first"
git symbolic-ref "nested/third" "second"
git symbolic-ref "refs/heads/fourth" "nested/third"
Run Code Online (Sandbox Code Playgroud)

以下shell代码正确解析了最新创建的对master的tip的符号引用.

git show-ref "refs/heads/fourth"
Run Code Online (Sandbox Code Playgroud)

这些用例都没有在官方文档中描述(git-symbolic-ref doc,git-show-ref doc).

但是,以下不起作用

 git check-ref-format --print "first"
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:

  • 可以在refs/heads目录中存储符号引用吗?
  • 可以链接符号引用吗?
  • 由于check-ref格式在传递时失败"first",这是否意味着不建议在同一级别创建符号引用"HEAD"?或者这个命令可能不是为了处理符号链接?

我的目的是清楚地了解支持的内容,以及我没有解决任何问题或从中获益.

git symbolic-references

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

为什么要使用LINQ加入简单的一对多关系?

我已经使用LINQ to SQL和Entity Framework几年了,我总是映射我的数据库关系以生成相关的导航属性.我总是使用导航属性.

我错过了什么吗?

如果我有一个Category->Products多种类型的关系,我会使用

var redProducts = context.Category.Single(c => c.Name = "red").Products;
Run Code Online (Sandbox Code Playgroud)

我经常看到人们在这个网站,在线项目和各种其他网站上进行手动连接.

var employer = from category in context.Categories
               join product in context.Products
               on category.CategoryId equals product.CategoryId
               where category.Name == "red"
               select product;
Run Code Online (Sandbox Code Playgroud)

所以为什么?使用此Join语法有什么好处?

.net linq linq-to-entities join linq-to-sql

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

运行时的气流动态任务

关于"动态任务"的其他问题似乎涉及在计划或设计时动态构建DAG.我有兴趣在执行期间动态地将任务添加到DAG.

from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.python_operator import PythonOperator
from datetime import datetime

dag = DAG('test_dag', description='a test',
          schedule_interval='0 0 * * *',
          start_date=datetime(2018, 1, 1),
          catchup=False)

def make_tasks():
    du1 = DummyOperator(task_id='dummy1', dag=dag)
    du2 = DummyOperator(task_id='dummy2', dag=dag)
    du3 = DummyOperator(task_id='dummy3', dag=dag)
    du1 >> du2 >> du3

p = PythonOperator(
    task_id='python_operator',
    dag=dag,
    python_callable=make_tasks)
Run Code Online (Sandbox Code Playgroud)

这种天真的实现似乎不起作用 - 虚拟任务永远不会出现在UI中.

在执行期间向DAG添加新运算符的正确方法是什么?可能吗?

python airflow airflow-scheduler

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

如何说服客户他想要的是一件坏事?

例如,我们正在为其创建网站的客户请求以下内容:

  • 所有链接都应在新窗口中打开
  • 在每个页面上放置自定义"后退"按钮,同时有一个工作浏览器等效
  • 使文本的某些部分闪烁等.

当然我告诉他们这是错的,但是有一些好的清单可以从一个受人尊敬的来源获得,我可以指出它们吗?

usability

16
推荐指数
5
解决办法
1101
查看次数

在独立应用程序中使用Spark View Engine

我的客户端应用程序需要生成HTML.我想使用像Spark这样的模板/视图引擎解决方案,但我不确定Spark是否可以在ASP.NET应用程序之外使用.有没有人知道以这种方式使用Spark的任何样本或文档?

(如果您知道可以单独使用的其他视图引擎解决方案,我也很想知道这些.)

c# spark-view-engine

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

Linq:在TransactionScope中删除并插入相同的主键值

我想用一个事务中的新记录替换DB中的现有记录.使用TransactionScope,我有

using ( var scope = new TransactionScope())
{
     db.Tasks.DeleteAllOnSubmit(oldTasks);
     db.Tasks.SubmitChanges();

     db.Tasks.InsertAllOnSubmit(newTasks);
     db.Tasks.SubmitChanges();

     scope.Complete();
}
Run Code Online (Sandbox Code Playgroud)

我的节目扔了

System.InvalidOperationException: Cannot add an entity that already exists.
Run Code Online (Sandbox Code Playgroud)

经过一些反复试验,我发现罪魁祸首在于删除和插入之间没有任何其他执行指令.如果我在第一个SubmitChanges()和InsertAllOnSubmit()之间插入其他代码,一切正常.谁能解释为什么会这样?这非常令人担忧.

我尝试了另一个来更新对象:

IEnumerable<Task> tasks = ( ... some long query that involves multi tables )
.AsEnumerable()
.Select( i => 
{
    i.Task.Duration += i.LastLegDuration;
    return i.Task;
}
db.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

这既不起作用.db没有获取任务的任何更改.

编辑:

此行为似乎与交易无关.最后,我采用了效率极低的更新:

newTasks.ForEach( t =>
{
     Task attached = db.Tasks.Single( i => ... use primary id to look up ... );
     attached.Duration = ...;
     ... more updates, Property …
Run Code Online (Sandbox Code Playgroud)

c# transactionscope linq-to-sql

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

无法为可组合函数创建函数导入

我为我的数据库对象生成了Entity CodeBlock,并选择了一些用户定义的标量函数.但是当我试图双击Model.Store中的函数来导入函数时,我得到了这个错误.

无法为可组合函数创建函数导入.

我如何导入我的功能?

.net c# entity-framework

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

我可以在MERGE语句中对目标应用WHERE子句吗?

我有一个目标表包含一个具有IsActive标志的项目,我使用MERGE语句从源表插入和更新.如果源表中存在某些内容,则它处于活动状态,如果不存在,则表示它不活动.逻辑非常简单:

  • 如果它存在于源和目标中,则该行应该为IsActivetrue
  • 如果它只存在于源中,那么应该将一个新行插入到目标中,并使用IsActivetrue
  • 如果它仅存在于目标中,IsActive则应设置为false.

一切都非常简单,除了目标表还有一个SourceId与源表相关的区别列.因此对于给定的源表,我只想MERGE对应具有相应的行SourceId.

(我的规范化表包含来自多个系统的相同数据类型的行 - 我从这些系统中单独检索数据,因此需要一次从一个源合并)

这是一个例子:

IF OBJECT_ID('tempdb..#target') IS NOT NULL DROP TABLE #target    
IF OBJECT_ID('tempdb..#source') IS NOT NULL DROP TABLE #source

CREATE TABLE #target  ( Id INT, SourceId INT, IsActive BIT )   
INSERT #target VALUES (1, 1, 0)
INSERT #target VALUES (2, 1, 1)
INSERT #target VALUES (3, 2, 1)

CREATE TABLE #source ( Id INT )    
INSERT #source VALUES …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server merge

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

在.Net 4.0中从.Net 4.5绑定的延迟属性

如何在.Net 4.0中实现关于绑定的.Net 4.5(此处描述)的延迟属性?

我知道我不能继承BindingBase,因为ProvideValue是密封的.

我可以实现MarkupExtension,但这意味着我现在必须重写BindingExtension中的所有属性还有其他方法吗?

c# wpf binding .net-4.0 .net-4.5

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

如果超出Sonar阈值,我如何让Hudson/Jenkins失败?

我正在使用maven构建我的Java应用程序,Jenkins用于CI和Sonar用于指标.

目前我有一个构建作业,可以创建声纳报告.(通过Jenkins的后期构建步骤触发.)

如果达到某些阈值,我想将此设置为失败,即任何主要或阻止程序违规或复杂程度超过1.7.

任何指导将不胜感激! - L.

java metrics hudson jenkins sonarqube

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