我试图理解语言级别的概念(常规,上下文无关,上下文敏感等).
我可以很容易地看清楚这一点,但我发现的所有解释都是一堆符号并谈论集合.我有两个问题:
你能用语言描述常用语言是什么,以及语言有何不同?
人们在哪里学会理解这些东西?据我了解,这是正式的数学?我在大学有几个课程使用它,几乎没有人理解它作为导师只是假设我们知道它.我在哪里可以学到它以及为什么人们"期望"在如此多的资源中知道它?就像教育方面存在差距一样.
这是一个例子:
属于该集合的任何语言都是字母表中的常规语言.
语言怎么能"超过"任何东西?
syntax programming-languages bnf regular-language formal-languages
我们有一个针对.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'的注册表更改 - 如果这可能是原因?
我正在使用ParseKit作为Objective-C,它采用类似BNF的语法来指定语法:
@start = command+;
command = new;
new = 'new' object ';';
object = 'house' | other;
Run Code Online (Sandbox Code Playgroud)
包含最后一行会导致错误.基本上我想说一个物体可以是房子或其他东西.非终端元素"其他"应该捕获那些不是房子的字.
我是否以错误的方式讨论"任何地方"的想法?
谢谢!
我正在制作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)
可能存在其他问题,并且接受的答案是有效的,只是想帮助解决问题./编辑
如果我有一个同步方法"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阻塞线程吗?我找到了一些看起来像这样的生产代码,所以我把这个小例子放在一起试着去了解发生了什么.但是很难确定差异.
我的项目起源于cocos2d Box2D模板,我试图创建一个世界时遇到问题:
world = new b2World(gravity,doSleep);
Run Code Online (Sandbox Code Playgroud)
给出错误:没有用于初始化'b2World'的匹配构造函数.
该文件是.mm,我认为这可能是关于库链接的一些问题?如果是这样我正在使用xCode 4,我该如何检查lib是否正确链接?
谢谢.
我被建议使用Parser Generator为我的域特定语言创建解析器.
理想情况下,我希望它输出一个Objective-C解析器并使用BNF输入来描述语言.
似乎很少有选择..是否有可能使用一个更受欢迎的具有目标C的解析器生成器?
谢谢!
compiler-construction parsing programming-languages objective-c parser-generator
导入多个版本的模块(这是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实际使用哪个版本?是最后加载的版本而不是最高版本吗?
有没有一种简单的方法来确保使用特定版本,而不需要循环所有其他版本并删除它们?
来自C#,试图了解语言.
根据我的理解,F#的一个主要好处是你放弃了状态的概念,这应该(在许多情况下)使事情更加健壮.
如果是这种情况(并纠正我,如果不是这样),为什么允许我们用变量来打破这个原则?对我来说,感觉它们不属于语言.我知道你不必使用它们,但是它为你提供了偏离轨道并以OOP方式思考的工具.
任何人都可以提供一个可变值必不可少的例子吗?
据我了解,六边形架构的关键规则之一是域层如何与除与其一起工作的应用程序层之外的所有内容隔离(域层完全没有依赖关系,因为它位于核心):
那么我的问题是,域层是否做过任何工作或有任何数据持久性方面的知识?假设我们有一些业务逻辑依赖于数据的检索和持久化,那么它是否应该始终由应用程序层来协调?
加载业务逻辑运行所需的所有内容 -> 告诉领域层运行所有业务逻辑 -> 提取业务逻辑的结果并告诉基础设施层保存它们 ->
从这个意义上说,应用程序层不是总是需要跟踪域层计算的任何结果,因此总是会实现某种 UnitOfWork 模式来跟踪这些结果吗?
域层是否可以与存储库或存储库的接口一起使用?有一些消息来源似乎表明这很好,但从我的角度来看,这与图表完全矛盾。
objective-c ×3
bnf ×2
c# ×2
parsing ×2
xcode ×2
.net ×1
architecture ×1
asynchronous ×1
audio ×1
box2d ×1
f# ×1
iphone ×1
parsekit ×1
powershell ×1
sql ×1
syntax ×1