小编Jos*_*man的帖子

以编程方式访问详细的历史财务数据

我知道雅虎有一个很好的API,用于访问http://www.gummy-stuff.org/Yahoo-data.htm上记录的公司的详细财务指标.雅虎还提供历史定价数据,请参见http://code.google.com/p/yahoo-finance-managed/wiki/csvHistQuotesDownload.

但是,我正试图找到一个可以编程方式访问详细历史数据的地方,比如10年前公司的收益,而不仅仅是股票的价格.有谁知道这样的网站?我愿意付钱,我想http://www.mergent.com/servius,但它们看起来非常非常昂贵.一家公司的单一标准化财务报告费用为50个单位,按照现收现付计划计算为2.50美元.

谷歌似乎有相当不错的历史财务数据,似乎可以追溯到5年前.我可能会尝试抓他们,但我想回去更多.有任何想法吗?

google-finance financial yahoo-finance

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

将Scala结构类型与抽象类型一起使用

我正在尝试定义一个结构类型,定义任何具有"add"方法的集合(例如,java集合).使用这个,我想定义一些对某个集合进行操作的高阶函数

object GenericTypes {
  type GenericCollection[T] = { def add(value: T): java.lang.Boolean}
}

import GenericTypes._
trait HigherOrderFunctions[T, CollectionType[X] <: GenericCollection[X]] {
    def map[V](fn: (T) => V): CollectionType[V]
    ....
}

class RichJList[T](list: List[T]) extends HigherOrderFunctions[T, java.util.List]
Run Code Online (Sandbox Code Playgroud)

这不会编译与以下错误

error: Parameter type in structural refinement may not refer to abstract type defined outside that same refinement 
Run Code Online (Sandbox Code Playgroud)

我尝试删除GenericCollection上的参数并将其放在方法上:

object GenericTypes {
  type GenericCollection = { def add[T](value: T): java.lang.Boolean}
}
import GenericTypes._
trait HigherOrderFunctions[T, CollectionType[X] <: GenericCollection]

class RichJList[T](list: List[T]) extends HigherOrderFunctions[T, java.util.List]
Run Code Online (Sandbox Code Playgroud)

但我得到另一个错误: …

scala structural-typing

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

Fork-join中的内存可见性

Brian Goetz在http://www.ibm.com/developerworks/java/library/j-jtp03048.html上写了一篇关于fork-join的好文章.在其中,他列出了使用fork-join机制的合并排序算法,在该机制中,他并行执行数组两侧的排序,然后合并结果.

该算法同时对同一阵列的两个不同部分进行排序.为什么不是AtomicIntegerArray或维持可见性所需的其他机制?什么保证一个线程会看到另一个线程完成的写入,或者这是一个微妙的错误?作为后续跟进,Scala的ForkJoinScheduler是否也提供此保证?

谢谢!

java scala fork-join jsr166

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

C++ 0x模板函数对象推断

我是一名Scala/Java程序员,希望将自己重新引入C++并学习C++ 0x中的一些令人兴奋的功能.我想从设计我自己的稍微功能的集合库开始,基于Scala的集合,这样我就可以深入理解模板.我遇到的问题是编译器似乎无法推断模板化函数对象的任何类型信息.

FC++似乎已经使用"签名"解决了这个问题.这些看起来与result_type typename非常相似,我想我会使用新的函数语法来实现它.任何人都可以提出一种在C++ 0x中做这种事情的方法,如果可能的话,或者至少解释一下FC++是如何实现这一目标的?这是我正在玩的代码片段

#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

template<class T>
class ArrayBuffer {
private:
    vector<T> array;
public:
    ArrayBuffer();
    ArrayBuffer(vector<T> a) : array(a) {}

    template<typename Fn>
    void foreach(Fn fn) {
        for(unsigned int i = 0; i < array.size(); i++) fn(array[i]);
    }

    template<typename Fn>
    auto map(Fn fn) -> ArrayBuffer<decltype(fn(T()))> {
        vector<decltype(fn(T()))> result(array.size());
        for(int unsigned i = 0; i < array.size(); i++) result[i] = fn(array[i]);
        return result;
    }
};

template<typename T>
class Print {
    public:
    void …
Run Code Online (Sandbox Code Playgroud)

c++ templates functional-programming function-pointers c++11

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

协议缓冲区无效的嵌入式描述符问题

我在运行某些生成的协议缓冲区类时遇到一些问题。

我的项目布局如下:

模块/
  protobuf-api /
    原型/
      com / foo / api / Service.proto
      com / foo / shared / Shared.proto
      org / bar / api / Message1.proto
      org / bar / api / Message2.proto

Service.proto文件取决于Shared.proto和某些Message * .proto文件。在protobuf-api目录中,我运行以下命令进行编译:
find . -name *.proto -exec protoc --java_out=java -I=proto {} \;

当我尝试运行我的服务时,出现以下异常:

java.lang.ExceptionInInitializerError
    在com.linkedin.history.api.protobuf.HistoryServiceProtos $ HistoryServiceQuery。(HistoryServiceProtos.java:544)
    在com.linkedin.history.api.serializer.HistoryServiceSerializer.serialize(HistoryServiceSerializer.java:47)
     在test.history.serializer.TestSerializer.testHistoryServiceQuery(TestSerializer.java:38)
    在test.fwk.util.core.BaseTestSuiteCore.run(BaseTestSuiteCore.java:304)
     在test.fwk.util.core.BaseTestSuiteConf.run(BaseTestSuiteConf.java:186)
    在test.fwk.lispring.BaseTestSuite.run(BaseTestSuite.java:232)
    在test.fwk.lispring.BaseTestSuite.callAppropriateRun(BaseTestSuite.java:265)
    在test.fwk.util.core.BaseTestSuiteCore.run(BaseTestSuiteCore.java:199)
原因:java.lang.IllegalArgumentException:“ com / linkedin / history / api / protobuf / HistoryService.proto”的无效嵌入式描述符。
     在com.google.protobuf.Descriptors $ FileDescriptor.internalBuildGeneratedFileFrom(Descriptors.java:268)
     在com.linkedin.history.api.protobuf.HistoryServiceProtos。(HistoryServiceProtos.java:1794)
引起原因:com.google.protobuf.Descriptors $ DescriptorValidationException:com / linkedin …

java protocol-buffers

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