我仍然是Dart的新手,=>(胖箭头)的语法仍然让我感到困惑(我来自C#背景).
因此,在C#脂肪箭头(=>)表示:进入因此,例如:
Action<string> action1 = (str) => { System.Diagnostic.Debug.WriteLine("Parameter received: " + str.ToString()); }
action1("Some parameter");
Run Code Online (Sandbox Code Playgroud)
意味着:无论发送为参数action1(如果它可以被转换为string)都转到 内部范围(在我们的例子中它只是打印在内部)Debug.WriteLine()
但在Dart中它有所不同......(?)
例如在 Future.then
ClassWithFutures myClass = new ClassWithFutures();
myClass.loadedFuture.then(
(str) => { print("Class was loaded with info: $str"),
onError: (exp) => { print("Error occurred in class loading. Error is: $exp"); }
);
Run Code Online (Sandbox Code Playgroud)
飞镖编辑警告我,第一和第二print是:Expected string literal for map entry key.我认为在C#方式中str它只是为参数命名,该参数将由Future.then用于调用onValue或的内部回调填充onError
我做错了什么?
现在我想在 Github 操作中使用它来在FROM现场创建 Docker 映像,但它总是失败并出现unauthorized错误 - 为什么?
步骤如下:
docker tag my_image:1.0 ghcr.io/<github_user>/<organization>/<repo_name>/my_image:1.0
docker push ghcr.io/<github_user>/<organization>/<repo_name>/my_image:1.0
a4f566342e89: Pushed
0378d9143186: Pushed
...
f337026e7d90: Pushed
Run Code Online (Sandbox Code Playgroud)
如您所见,一切都成功完成,我什至可以docker pull在我的计算机上完成
然后我设置 Github 操作并将其设置为启动 Powershell 脚本,该脚本从此 Dockerfile 创建 Docker 映像:
所以Github动作设置为:
...
...
jobs:
build:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Package with Docker and push to Github packages
id: build_and_push_docker_image
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | …Run Code Online (Sandbox Code Playgroud) 我刚开始倾向于使用WPF 3D并按照教程进行操作.我创建了一个3D模型并将其导出为OBJ文件.创建了一个新的WPF项目并添加了此OBJ文件.我如何使用它里面Window还是Viewport3D?我找到了微软的一个链接:导入3D内容,但它是为Expression Studio编写的,Blend中没有'插入'选项:( Window由于拖动时'禁用'图标,我无法将其拖动
当我双击OBJ文件时,我可以在WPF窗口中看到我的3D模型 - 所以我猜WPF可以读取此文件.
PS这是Blend展示我的3D模型:
已经过了几天,但我无法使用Spark从公共Amazon Bucket下载:(
这是spark-shell命令:
spark-shell --master yarn
-v
--jars file:/usr/local/hadoop/share/hadoop/tools/lib/hadoop-aws-2.9.2.jar,file:/usr/local/hadoop/share/hadoop/tools/lib/aws-java-sdk-bundle-1.11.199.jar
--driver-class-path=/usr/local/hadoop/share/hadoop/tools/lib/hadoop-aws-2.9.2.jar:/usr/local/hadoop/share/hadoop/tools/lib/aws-java-sdk-bundle-1.11.199.jar
Run Code Online (Sandbox Code Playgroud)
应用程序启动,shell等待提示:
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.4.0
/_/
Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_191)
Type in expressions to have them evaluated.
Type :help for more information.
scala> val data1 = sc.textFile("s3a://my-bucket-name/README.md")
18/12/25 13:06:40 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 242.1 KB, free 246.7 MB) …Run Code Online (Sandbox Code Playgroud) 我刚刚开始学习REST和ServiceStack,并且有些东西Route我不太明白.例如,如果我们从GitHub教程中获取非常基本的HelloWorld示例并重新编写它以返回User对象集合.这是一个例子:
public User
{
public string Name;
public string Address;
public int Age;
}
// Hello - request object without [Route] attribute
public class Hello
{
public string Name { get; set; }
}
public class HelloResponse
{
public IEnumerable<User> Result {get;set;}
}
public class HelloService : Service
{
public object Any(Hello request)
{
return new HelloResponse { // Collection of User object };
}
}
Run Code Online (Sandbox Code Playgroud)
现在一切正常,没有问题.但现在我想添加另一个路由网址: /Hello/{name}/Address
实际上,对此url的此调用(GET)将返回User由Age参数选择的单个.我怎么能这样做?我应该添加另一个Service?如果网址是:
/Hello/{name}/{age}/Address …
在以某种方式阅读了Dart 单元测试后,我仍然无法理解如何将它与Futures一起使用。
例如:
void main()
{
group('database group',(){
setUp( () {
// Setup
});
tearDown((){
// TearDown
});
test('open connection to local database', (){
DatabaseBase database = null;
expect(database = new MongoDatabase("127.0.0.8", "simplechat-db"), isNotNull);
database.AddMessage(null).then(
(e) {
expectAsync1(e)
{
// All ok
}
},
onError: (err)
{
expectAsync1(bb)
{
fail('error !');
}
}
);
});
// Add more tests here
Run Code Online (Sandbox Code Playgroud)
}); }
因此,在测试中,我创建了一个基本抽象类的实例,DatabaseBase并为实际的MongoDb类创建了一些参数,并立即检查它是否已创建。然后,我只是运行一些很简单的功能:AddMessage。该函数定义为:
Future AddMessage(String message);
Run Code Online (Sandbox Code Playgroud)
并返回completer.future …
我正在运行这个 PerfView 命令:
PerfView.exe /Merge:true /zip:true /NoNGenRundown /NoClrRundown /KeepAllEvents /ThreadTime /DumpHeap /NoView /NoGui /MaxCollectSec:30 collect
但似乎即使我定义/MaxCollectSec:30为 30 秒,实际的数据收集过程也不会停止并继续将数据添加到PerfViewData.etl文件中
这是运行命令时 Perfview 打开的控制台窗口的输出:
详细登录:PerfViewData.log.txt
执行:PerfView /Merge:true /zip:true /NoNGenRundown /NoClrRundown /KeepAllEvents /ThreadTime /DumpHeap /NoView /NoGui /MaxCollectSec:30 收集
V4.0 之前的 .NET Rundown 已禁用,请键入“E”以启用 V3.5 进程的符号。
不要关闭此控制台窗口。它将继续收集!
输入 S 停止收集,“A”将中止。
内核日志:C:\PerfView\PerfViewData.kernel.etl
用户模式日志:C:\PerfView\PerfViewData.etl
2017年12月7日14:26:32开始采集
收集 10 秒:大小= 10.5 MB。
收集 20 秒:大小= 16.4 MB。
超过 MaxCollectSec 30
所以就是这样:Exceeded MaxCollectSec 30但继续写入 etl 文件。
我想向客户端发送 Perfview 命令来收集系统范围的数据,并将包含来自 Perfview 的所有 ETL 文件的 zip …
我还在学习犀牛嘲笑并对此有疑问.例如 - 我在mocked界面中有一个函数:
public interface ISomeObject
{
string Name {get; set;}
int Id {get;set;}
}
// This class will be returned as and answer to function call
public class AnswerObject
{
public bool IfError {get;set;}
}
// Main interface
public interface IClass
{
AnswerObject FunctionGetCollection(ref ICollection <ISomeObject> ListOfInternalObjects, ref int Number);
}
Run Code Online (Sandbox Code Playgroud)
如您所见,函数'FunctionGetCollection'将接收作为'ref'传递的2个参数,并将另一个类作为'function-answer'返回.你能帮我把这个功能存根吗?我需要能够使用:
试图了解如何Subject<T>,ReplaySubject<T>和其他工作.这是一个例子:
(主题是观察者和观察者)
public IObservable<int> CreateObservable()
{
Subject<int> subj = new Subject<int>(); // case 1
ReplaySubject<int> subj = new ReplaySubject<int>(); // case 2
Random rnd = new Random();
int maxValue = rnd.Next(20);
Trace.TraceInformation("Max value is: " + maxValue.ToString());
subj.OnNext(-1); // specific value
for(int iCounter = 0; iCounter < maxValue; iCounter++)
{
Trace.TraceInformation("Value: " + iCounter.ToString() + " is about to publish");
subj.OnNext(iCounter);
}
Trace.TraceInformation("Publish complete");
subj.OnComplete();
return subj;
}
public void Main()
{
//
// …Run Code Online (Sandbox Code Playgroud) 请考虑以下代码:
ButtonElement btnSend = (ButtonElement) query('#btnSendToServer');
Run Code Online (Sandbox Code Playgroud)
我收到一个内部错误:
Internal error: 'http://127.0.0.1:3030/home/Seth.Ladd/Projects/DartSimpleChat/SimpleChatClient/web/out/simplechatclient.dart': Error: line 30 pos 43: semicolon expected
ButtonElement btnSend = (ButtonElement) query('#btnSendToServer');
^
Run Code Online (Sandbox Code Playgroud)
所以问题是:
query支持显式/隐式转换?query还是我可以盲目相信那个物体会被退回ButtonElement吗?ButtonElements吗?我在 DocFX 配置中缺少一些东西 - 所以它不会生成正确的文档。
我有以下文件夹结构:
+Documentation
|- _site
|- api
|- apidoc
|- articles
|- images
|- src <-- This folder is autogenerated by `docfx init` command as a folders above
docfx.json
index.md
toc.md
+packages
|- Microsoft.NETCore.Platforms.1.0.1
|- ... other nuget folders
+src
|- MyRealProject
|- assets
|- bin
|- Commands
|- obj
|- Properties
|- vendor <- This folder should be excluded for documentation
app.config
MyRealProject.csproj
MyRealProject.csproj.user
Program.cs
+test
|-MyRealProjext.XUnit
|- bin
|- obj
|- Properties
app.config
.gitattributes …Run Code Online (Sandbox Code Playgroud) 我一直在遵循Windows 上的 Gentle ContainerD 指南为您在我的 Windows 10 计算机上设置 ContainerD,但不知何故我无法从本教程中启动任何示例。
命令是: crictl.exe runp --runtime runhcs-wcow-process .\pod-config.yaml
错误是:
crictl.exe runp --runtime runhcs-wcow-process .\pod-config.yaml
time="2022-03-18T19:39:38+02:00" level=fatal msg="run pod sandbox:
rpc error: code = Unknown desc = failed to setup network for sandbox \"7db0b08199861ffc0a68b869990c2ce1e2cee29df2579f9502ec584fbd5d2913\": plugin type=\"nat\" name=\"natContainerD\" failed (add):
error creating endpoint hcnCreateEndpoint failed in Win32: IP address is either invalid or not part of any configured subnet(s). (0x803b001e) {\"Success\":false,\"Error\":\"IP address is either invalid or not part of any configured subnet(s). \",\"ErrorCode\":2151350302} …Run Code Online (Sandbox Code Playgroud) c# ×4
dart ×3
3d ×1
apache-spark ×1
blend ×1
containerd ×1
dart-async ×1
docfx ×1
docker ×1
hadoop ×1
perfview ×1
rhino-mocks ×1
servicestack ×1
windows ×1
xaml ×1