小编Roy*_*ker的帖子

使用Json.net将json对象反序列化为动态对象

是否可以使用json.net从json反序列化返回动态对象?我想做这样的事情:

dynamic jsonResponse = JsonConvert.Deserialize(json);
Console.WriteLine(jsonResponse.message);
Run Code Online (Sandbox Code Playgroud)

.net c# json.net

411
推荐指数
8
解决办法
34万
查看次数

Gzip的JavaScript实现

我正在编写一个Web应用程序,需要通过AJAX将JSON数据存储在一个小的,固定大小的服务器端缓存中(想想:Opensocial配额).我无法控制服务器.

我需要减少存储数据的大小以保持服务器端配额,并且希望能够在将其发送到服务器之前在浏览器中对字符串化JSON进行gzip.

但是,我找不到Gzip的JavaScript实现方式.有关如何在发送之前压缩客户端数据的任何建议吗?

javascript compression ajax gzip

204
推荐指数
7
解决办法
15万
查看次数

C#中的线程死锁示例

有人能给出一个如何在C#语言中引起线程死锁的例子吗?

c# deadlock

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

如何将ruby gem嵌入到C#项目中并从嵌入式IronRuby脚本中获取它?

我有一个C#项目,其中嵌入了一个IronRuby程序.该项目(包括我的ruby脚本)被编译为Visual Studio 2010中的.exe文件以进行分发.我正在使用类似于这种模式来引导IronRuby脚本:http://pastebin.com/NKes1cyc(和Jimmy Schementi在这里详细介绍:http://blog.jimmy.schementi.com/2009/12/ ironruby-rubyconf-2009-part-35.html).

我的问题:我想在我的C#程序集中嵌入一个gem(json_pure)并从ruby脚本中调用它.

我找到的一些资源:

  1. 在JRuby中,您可以轻松地将gem打包到jar文件中,然后在运行时只需要jar文件 - http://blog.nicksieger.com/articles/2009/01/10/jruby-1-1-6-gems -在一个罐子里

  2. irpack工具(http://github.com/kumaryu/irpack)能够在嵌入ruby标准库的同时将Ruby编译为.exe(我认为它动态创建并编译C#项目).但看起来它只是嵌入了预先构建的IronRuby .dll,而不是ruby .rb文件.如果我能弄清楚如何将Ruby源文件编译成.dll,那么这个工具使用的方法会起作用.

如何将IronRuby gem嵌入到C#程序集中(或将IronRuby gem编译为.dll)?

编辑:

IronRuby In Action("使用外部库")的第472页解释了如何从嵌入式ruby文件中要求标准ruby库.它涉及将文件夹添加到运行时搜索路径集合中,如下所示(为简洁起见而编辑):

ScriptEngine engine = IronRuby.Ruby.CreateEngine();
var searchPaths = engine.GetSearchPaths().Concat(new[] 
{
    "C:\\Program Files (x86)\\IronRuby 1.1\\Lib\\ruby\\1.9.1",
    "C:\\Program Files (x86)\\IronRuby 1.1\\Lib\\ironruby"
});
engine.SetSearchPaths(searchPaths)
Run Code Online (Sandbox Code Playgroud)

这种方法假设主机安装了IronRuby,但是我想将ruby文件(从gem中)嵌入到程序集中,这样它就可以在没有预先安装IronRuby的情况下运行.

编辑2(进一步研究):

阅读上面引用的irpack工具的源代码,我注意到Kumaryu通过System.IO.Packaging.Package类将资源嵌入到最终的程序集中,然后将包传递给对msbuild的调用(参见https:// github.com/kumaryu/irpack/blob/master/lib/irpack/packager.rb).也许对将文件打包成可执行文件的进一步研究将导致解决方案.我看到的问题是gem中的requireruby文件其他ruby文件...可以在程序集包中的requireruby文件中同一个包中的其他ruby文件吗?

编辑3:

我还没有得到任何答案,但我有兴趣听到任何人的反馈,即使它只是一个关于在哪里看的链接或建议.我是msbuild的新手,而且文档非常庞大.对"msbuild embed zip package"的初始网络搜索没有透露任何相关内容.

.net c# msbuild ironruby .net-assembly

16
推荐指数
1
解决办法
2328
查看次数

在语言功能方面,ECMAScript 5和JavaScript 1.8.5之间有什么关联?

我一直在阅读Mozilla继续开发JavaScript,直到版本1.8.5:https://developer.mozilla.org/en/JavaScript.

我的问题是:在语言功能方面,JavaScript 1.8.5+和ECMAScript 5+之间的相关性是什么?任何机会Mozilla的新JavaScript功能(如生成器,数组解析等)都将成为ECMAScript的一部分吗?

我只想了解是否值得学习JavaScript 1.8.5功能(并努力将其填充到非支持的浏览器中)或者是否应该忘记JS 1.8.5并专注于学习/填补新的ECMAScript 5功能.

仅供参考:Mozilla谈到他们计划如何使JavaScript符合ECMAScript 5:https://developer.mozilla.org/En/JavaScript/ECMAScript_5_support_in_Mozilla

javascript mozilla ecmascript-5

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

我可以将Java类文件导入JRuby吗?

文档似乎表明,为了让我将Java类导入JRuby,它们必须位于JAR文件中:

"为了在JRuby的jar文件中使用资源,jar文件必须在类路径上,或者你可以使用require方法使它"(http://wiki.jruby.org/wiki/Calling_Java_from_JRuby#Require_a_jar_file_to_make_resources_in_the_jar_discoverable_within_JRuby)

是否可以直接导入.class文件?

谢谢!

jruby jruby-java-interop

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

JRuby和Java对象

请告诉我是否可以执行以下操作:

  • 在Java中创建特定类的实例
  • 把它传递给JRuby用它做点什么
  • 继续使用Java中的"修改"版本

你能提供一个小例子吗?

编辑:事实证明,嵌入是实现这一目标的最简单方法.有关嵌入JRuby的更多信息.

java scripting jruby jruby-java-interop

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

如何在数据库中的所有varchar和nvarchar字段中转换换行符(将\ r \n替换为\n)

我正在从我构建的系统中的一个错误中恢复,我没有考虑IE生成Windows风格的换行符(\ r \n)和其他浏览器在发布带有文本区域的HTML表单时生成Unix风格的换行符(\n) .现在我需要在SQL-Server数据库的varchar和nvarchar字段中将所有Windows样式的换行符(\ r \n)转换为Unix样式的换行符(\n).

有没有办法迭代T-SQL中的所有表/行,并将'\ r \n'的实例替换为'\n'为varchar和nvarchar字段?

编辑:我认为替换部分会是这样的

REPLACE(@fieldContents, CHAR(13)+CHAR(10), CHAR(10))
Run Code Online (Sandbox Code Playgroud)

困难的部分是在所有varchar和nvarchar字段中执行此操作.

sql t-sql sql-server newline

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

从TypeScript发出的AMD依赖项中省略"require"和"exports"

给定以下TypeScript文件,

export = {};
Run Code Online (Sandbox Code Playgroud)

tsc(带"module": "amd")会发出:

define(["require", "exports"], function (require, exports) {
  "use strict";
   return {};
});
Run Code Online (Sandbox Code Playgroud)

但是,我宁愿它发出

define([], function() {
    "use strict";
    return {};
});
Run Code Online (Sandbox Code Playgroud)

......并且只包括require或者exports我明确地导入它们,即

import relativeRequire = require("require");
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉TypeScript不要发射requireexports发射AMD模块(即要求它不要使用CommonJS简化包装)?

笔记:

  • 我建议的输出完全符合AMD规范.
  • 一个空的依赖关系数组是唯一的方法用于模块到具有零间的依赖关系(相对于省略依赖性阵列,这意味着require,exportsmodule依赖关系).

更新2017年7月4日:看起来这实际上是TypeScript GitHub仓库中的一个开放问题:https://github.com/Microsoft/TypeScript/issues/669

在实施之前,是否有任何实用的解决方法?(或者,有没有办法让TypeScript这样做?)

amd typescript

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

有关 Java 与 jRuby 互操作的参考信息的最佳来源

您发现什么是 jRuby 与 Java 互操作语法的最佳来源?昨天我花了很长时间才找到有关添加到类路径的内容,而 jruby.org 站点并没有太大帮助。好奇其他人使用的参考资料。谢谢。

ruby java jruby jruby-java-interop

5
推荐指数
1
解决办法
832
查看次数

如何在 JRuby on Rails 项目中正确添加到 CLASSPATH?

我通过在以下内容中添加了一些外部 jars 到我的 CLASSPATH 中config/application.rb

require 'java'
$CLASSPATH << "#{File.dirname(__FILE__)}/../backend/src/"
Dir["#{File.dirname(__FILE__)}/../backend/lib/*.jar"].each do |jar|
   require jar
end
Run Code Online (Sandbox Code Playgroud)

这在使用rails server. 加载来自 CLASSPATH 的 jar。但是,运行时rake未设置类路径。我该如何设置?特别是,我需要在加载我的 gem 之前设置它,因为我使用 JRClj gem,它依赖于我的 CLASSPATH 中已经有 clojure.jar。

(哦,我也尝试将代码放在 environment.rb 中;没有帮助)

“不工作”,我的意思是:

$ rake rspec --trace
rake aborted!
No such file to load -- /MY_CURRENT_WORKING_DIRECTORY/clojure.lang.RT
org/jruby/RubyKernel.java:1063:in `load'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `load'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `load_dependency'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:639:in `new_constants_in'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `load_dependency'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `load'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/rake-0.9.2.2/lib/rake/default_loader.rb:6:in `load'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/rake-0.9.2.2/lib/rake/application.rb:569:in `load_imports'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/rake-0.9.2.2/lib/rake/application.rb:508:in `raw_load_rakefile'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `load_rakefile'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/pbiggar/.rvm/gems/jruby-1.6.5@jruby-clojure-combination/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile' …
Run Code Online (Sandbox Code Playgroud)

jruby jrubyonrails jruby-java-interop

5
推荐指数
1
解决办法
3528
查看次数

在Jruby中使用自定义Java类文件

我试图通过最新版本的Jruby(1.5.1),Ruby 1.8.7和Java 1.6.0_06来执行一些自定义Java代码.我已经尝试了类文件并将其放在jar方法中.当我尝试

require 'java'  
require 'path_to_class/myClass
Run Code Online (Sandbox Code Playgroud)

要么

require 'java'  
require 'path_to_jar/a_jar.jar  
Run Code Online (Sandbox Code Playgroud)

尝试这两种方法,我无法访问myClass或jar文件中的任何其他文件.网上导入java类的其他变体导致以下错误:

`NameError: cannot load Java class com.package.myClass from C:/jruby-1.5.1/lib/ruby/site_ruby/shared/builtin/javasupport/java.rb:51:in method_missing`
Run Code Online (Sandbox Code Playgroud)

我还检查了StackOverFlow上的解决方案,我仍然得到了相同的结果.我想知道这可能是一个更深层次的问题.

jruby jruby-java-interop

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

理解缩小原始转换

我试图理解Java中缩小的原始转换概念.以下是JLS 5.1.3对此的说法:

原始类型的22个特定转换称为缩小基元转换:

短到字节或字符

char到byte或short

int到byte,short或char

long to byte,short,char或int

float to byte,short,char,int或long

double to byte,short,char,int,long或float

由于是隐式转换转换longint,我们可以写出下面的代码:

public static void main (String[] args) throws java.lang.Exception
{
    int c = 88L; //Compilation fail
    System.out.println(c);
}
Run Code Online (Sandbox Code Playgroud)

DEMO

但它不起作用.为什么?应该应用从long到int的缩小转换.

java

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