我一直在关注函数式编程语言和功能的日益增长的可见性.我调查了他们,没有看到上诉的原因.
然后,最近我参加了Kevin Smith在Codemash上的"Erlang基础知识"演讲.
我很喜欢这个演示文稿,并了解到函数式编程的许多属性使得更容易避免线程/并发问题.我理解缺少状态和可变性使得多个线程无法改变相同的数据,但Kevin说(如果我理解正确的话)所有通信都是通过消息进行的,并且同步处理消息(再次避免并发问题).
但我已经读到Erlang用于高度可扩展的应用程序(爱立信首先创建它的全部原因).如果所有内容都作为同步处理的消息处理,那么如何有效处理每秒数千个请求?这不是我们开始转向异步处理的原因 - 所以我们可以同时运行多个操作线程并实现可扩展性吗?看起来这种架构虽然更安全,但在可扩展性方面却倒退了一步.我错过了什么?
我理解Erlang的创建者故意避免支持线程以避免并发问题,但我认为多线程是实现可伸缩性所必需的.
函数式编程语言如何本质上是线程安全的,但仍然可以扩展?
我正在尝试将日期转换为日期时间但是我遇到了错误.我转换的数据类型是(float,null),我想将它转换为DATETIME.
这段代码的第一行工作正常,但我在第二行得到了这个错误:
Arithmetic overflow error converting expression to data type datetime.
CAST(CAST( rnwl_efctv_dt AS INT) AS char(8)),
CAST(CAST( rnwl_efctv_dt AS INT) AS DATETIME),
Run Code Online (Sandbox Code Playgroud) 我试图设置一个标志来显示或隐藏页面元素,但即使表达式为false,它也总是显示.
$canMerge = ($condition1 && $condition2) ? 'true' : 'false';
...
<?php if ($canMerge) { ?>Stuff<?php } ?>
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?
我正在VS2005上开发Reporting Services并且必须连接到SQL Server 2008.出现以下错误:"不支持此服务器版本.您必须具有Microsoft SQL Server 2005 Beta 2或更高版本."
我在网上找到了它的补丁,但它不起作用(链接到补丁)
"Windows Installer服务无法安装升级修补程序,因为缺少要升级的程序,或者升级修补程序可能会更新该程序的其他版本."
我还可以做些什么 ?:(
我需要在两个不同的表上进行两次查询,并且数据并不真正相关.所以当我通过我的代码调用存储过程时,我应该得到一个带有两个DataTable的DataSet,每个查询一个DataTable.如何在SQL Server存储过程中完成?
如何将字符串像20100102转换为dd/MM/yyyy格式的datetime?
为什么不使用分部类来构建 ViewModel?
既然viewmodel类的定义对datamodel的数据类有一定的定义,为什么不尽量减少一些工作,扩展或制作datamodel的部分类,用命令完成它们等等。
的C#3.0规范具有第10.6.1.3"输出参数"下面的代码示例:
using System;
class Test
{
static void SplitPath(string path, out string dir, out string name) {
int i = path.Length;
while (i > 0) {
char ch = path[i – 1];
if (ch == '\\' || ch == '/' || ch == ':') break;
i--;
}
dir = path.Substring(0, i);
name = path.Substring(i);
}
static void Main() {
string dir, name;
SplitPath("c:\\Windows\\System\\hello.txt", out dir, out name);
Console.WriteLine(dir);
Console.WriteLine(name);
}
}
Run Code Online (Sandbox Code Playgroud)
我无法在VS2005/C#2.0中编译此代码.C#3.0中字符串的行为是否发生了变化,以便字符串可以被称为char []数组而不显式转换它(语句"ch = path [i-1]")?
每当我安装Visual Studio 2005或2008并选择C#配置文件时,起始页面的"新闻"部分默认为" http://go.microsoft.com/fwlink/?linkid=45192&clcid=409 ".
我喜欢起始页面并且喜欢引用它,并且喜欢提供默认MSDN C#新闻源的内容(那里有很多好东西),但是自2008年3月以来该源尚未更新.
是否有更新的MSDN C#News feed?这篇文章名为"MSDN:Visual C#",副标题为"Visual C#开发人员的最新信息",这使我认为它是适当的"官方"MS C#新闻源.或者,这只是一个虚拟的饲料MS投入,开发人员应该用他们喜欢的饲料定制他们的VS开始页面?我这样做没有问题 - 我只是觉得提供的那个很有前途(如果它是最新的).
是否可以在函数执行过程中设置指向当前堆栈的指针(稍后获取)然后释放当前线程(不解除调用堆栈)并将其返回给线程池?然后,让另一个线程在该线程停止的地方继续?我知道这意味着调用函数的人不会知道当前的线程上下文会发生变化,并且可能会涉及编写一些自定义的IL代码来做这样的事情,但有没有办法做到这一点?
我听过几个播客(最近在DotNetRocks上的人)说Visual Studio 2010的外观和感觉已经完全重新设计,并且在WPF中重写了Visual Studio.
我一直在观看Visual Studio 2010 CTP的channel9上的一些演示,唯一看起来与我不同的是打开屏幕.
我在MSDN上阅读了该通知,但它没有说明Visual Studio的外观/设计.
微软是否在此方面取消了方向,或者最终产品的用户界面是否会发生重大变化?