小编FBr*_*t87的帖子

什么是常规语言?

我试图理解语言级别的概念(常规,上下文无关,上下文敏感等).

我可以很容易地看清楚这一点,但我发现的所有解释都是一堆符号并谈论集合.我有两个问题:

  1. 你能用语言描述常用语言是什么,以及语言有何不同?

  2. 人们在哪里学会理解这些东西?据我了解,这是正式的数学?我在大学有几个课程使用它,几乎没有人理解它作为导师只是假设我们知道它.我在哪里可以学到它以及为什么人们"期望"在如此多的资源中知道它?就像教育方面存在差距一样.

这是一个例子:

属于该集合的任何语言都是字母表中的常规语言.

语言怎么能"超过"任何东西?

syntax programming-languages bnf regular-language formal-languages

74
推荐指数
2
解决办法
4万
查看次数

更新.NET框架导致SQL超时

我们有一个针对.NET 4.5.1的应用程序,并且保持不变.

但是,当我们从4.5.1 - > 4.7.1升级服务器上的.NET框架时,我们几小时后开始体验SQL超时(应用程序目标保持在4.5.1).

"Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."
Run Code Online (Sandbox Code Playgroud)

其他具有相同处理的服务器也产生了这个问题,因此我们在.NET中寻找一个重大变化,并发现了这篇文章:https://blogs.msdn.microsoft.com/dataaccesstechnologies/2016/05/07/connection-超时问题,与净框架-4-6-1-transparentnetworkipresolution /

那篇文章引用了一个不同的异常类型,但可能有些相关.但是,如果我们的DNS查询时间超过500毫秒,我会感到震惊.此外,我希望看到更多的连接字符串配置报告和使用的情况.

我们的应用程序流量很大,但我们确信我们不会泄漏连接,因为在我们更新.NET框架之前,这一直是问题多年.

我们将尝试应用此修复程序(并等待> 24小时以查看结果),但还有什么我们可能错过的吗?我们不相信这是解决方案.

编辑:即使将.NET回滚到4.5.1并重新启动所有服务器,我们仍然会看到问题.代码库中没有其他任何变化,但我们还没有回滚启用'SchUseStrongCrypto'的注册表更改 - 如果这可能是原因?

.net c# sql connection-pooling

25
推荐指数
1
解决办法
1336
查看次数

这个ParseKit BNF有什么问题?

我正在使用ParseKit作为Objective-C,它采用类似BNF的语法来指定语法:

@start = command+;
command = new;
new = 'new' object ';';
object = 'house' | other;
Run Code Online (Sandbox Code Playgroud)

包含最后一行会导致错误.基本上我想说一个物体可以是房子或其他东西.非终端元素"其他"应该捕获那些不是房子的字.

我是否以错误的方式讨论"任何地方"的想法?

谢谢!

parsing objective-c bnf parser-generator parsekit

9
推荐指数
2
解决办法
931
查看次数

将多个.wav转换为.caf

我正在制作iPhone应用程序,.wav我需要转换为大量文件.caf

我可以将它用于每个文件:

afconvert -f caff -d LEI8@22050 walking.wav walking.caf
Run Code Online (Sandbox Code Playgroud)

但这需要很长时间,所以我试图转换所有文件:

for i in *.wav; do afconvert -f -caff -d LEI16@44100 -c 1 $i ${i%.wav}.caf; done
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

Error: ExtAudioFileCreateWithURL failed ('typ?')
Run Code Online (Sandbox Code Playgroud)

编辑:由于上面显示的for循环中的拼写错误,实际上会发生错误.应该caff不是-caff.那么正确的代码片段就是.

for i in *.wav; do afconvert -f caff -d LEI16@44100 -c 1 $i ${i%.wav}.caf; done
Run Code Online (Sandbox Code Playgroud)

可能存在其他问题,并且接受的答案是有效的,只是想帮助解决问题./编辑

iphone audio xcode cocos2d-iphone

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

等待同步方法时会发生什么

如果我有一个同步方法"GetStrings()":

private static Task<string[]> GetStrings(IEnumerable<int> ids)
{
    var tasks = ids.Distinct().Select(GetString);
    return Task.WhenAll(tasks);
}

private static async Task<string> GetString(int stringId)
{
    await Task.Delay(15000);
    return "hello" + stringId;
}
Run Code Online (Sandbox Code Playgroud)

(它本身称为异步方法"GetString()")

我从异步方法中调用这个同步 "GetStrings()" 方法:

public static async Task Main()
{
    var ids = new List<int> { 1, 2, 3 };
    await GetStrings(ids);
    Console.WriteLine("all done");
    Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

什么是行为差异,if GetStrings()实际上是异步的?(并进行了等待Task.WhenAll)

它会直接阻止Task.WhenAll阻塞线程吗?我找到了一些看起来像这样的生产代码,所以我把这个小例子放在一起试着去了解发生了什么.但是很难确定差异.

c# asynchronous

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

Xcode:Cocos2d:无法用Box2D创建世界

我的项目起源于cocos2d Box2D模板,我试图创建一个世界时遇到问题:

world = new b2World(gravity,doSleep);
Run Code Online (Sandbox Code Playgroud)

给出错误:没有用于初始化'b2World'的匹配构造函数.

该文件是.mm,我认为这可能是关于库链接的一些问题?如果是这样我正在使用xCode 4,我该如何检查lib是否正确链接?

谢谢.

xcode objective-c box2d cocos2d-iphone

8
推荐指数
1
解决办法
4165
查看次数

Objective C的解析器生成器?

我被建议使用Parser Generator为我的域特定语言创建解析器.

理想情况下,我希望它输出一个Objective-C解析器并使用BNF输入来描述语言.

似乎很少有选择..是否有可能使用一个更受欢迎的具有目标C的解析器生成器?

谢谢!

compiler-construction parsing programming-languages objective-c parser-generator

7
推荐指数
2
解决办法
3088
查看次数

导入多个版本的 Powershell 模块会加载所有版本吗?

导入多个版本的模块(这是PS7):

Import-Module -Name MyModule -RequiredVersion 1.0.28
Import-Module -Name MyModule -RequiredVersion 1.0.29
Run Code Online (Sandbox Code Playgroud)

将两个版本加载到您的会话中:

Get-Module -Name MyModule 
Run Code Online (Sandbox Code Playgroud)

输出:

ModuleType Version    PreRelease Name
---------- -------    ---------- ---- 
Script     1.0.28                MyModule
Script     1.0.29                MyModule
Run Code Online (Sandbox Code Playgroud)

当您尝试编写 CI/CD 脚本时,这会变得非常混乱,因为有人可能在本地加载了多个版本。就我而言,我想确保在继续之前加载特定版本。

在这种情况下,PS实际使用哪个版本?是最后加载的版本而不是最高版本吗?

有没有一种简单的方法来确保使用特定版本,而不需要循环所有其他版本并删除它们?

powershell powershell-7.0

7
推荐指数
1
解决办法
3810
查看次数

为什么在F#中允许使用mutable?他们何时必不可少?

来自C#,试图了解语言.

根据我的理解,F#的一个主要好处是你放弃了状态的概念,这应该(在许多情况下)使事情更加健壮.

如果是这种情况(并纠正我,如果不是这样),为什么允许我们用变量来打破这个原则?对我来说,感觉它们不属于语言.我知道你不必使用它们,但是它为你提供了偏离轨道并以OOP方式思考的工具.

任何人都可以提供一个可变值必不可少的例子吗?

f#

6
推荐指数
3
解决办法
188
查看次数

DDD Hexagon - 域层在任何情况下都应该与基础设施 (DAL) 层对话吗?

据我了解,六边形架构的关键规则之一是域层​​如何与除与其一起工作的应用程序层之外的所有内容隔离(域层完全没有依赖关系,因为它位于核心):

在此输入图像描述

那么我的问题是,域层是否做过任何工作或有任何数据持久性方面的知识?假设我们有一些业务逻辑依赖于数据的检索和持久化,那么它是否应该始终由应用程序层来协调?

加载业务逻辑运行所需的所有内容 -> 告诉领域层运行所有业务逻辑 -> 提取业务逻辑的结果并告诉基础设施层保存它们 ->

从这个意义上说,应用程序层不是总是需要跟踪域层计算的任何结果,因此总是会实现某种 UnitOfWork 模式来跟踪这些结果吗?

域层是否可以与存储库或存储库的接口一起使用?有一些消息来源似乎表明这很好,但从我的角度来看,这与图表完全矛盾。

architecture domain-driven-design hexagonal-architecture

6
推荐指数
1
解决办法
7337
查看次数