我的服务器托管限制了1GB内存.当我想编译一些大型程序时git-annex
,Cabal吃了很多内存.有没有办法限制cabal
或gcl
使用某些选项来限制内存使用?
我用一些细节更新了问题:我在Webfaction托管(CentOS 7 - 64bit)上运行cabal
(1.22.4.0)和Ghc
7.10.2,可以访问shell(非root访问).Webfaction admin/robot通常会因编译而容忍一些爆发.但Ghc
/ Cabal
需要太多内存并花费太多时间来进行某些包编译.因此系统会自动杀死所有进程.
我需要多次重新启动编译才能最终获得成功的结果.
我的主要目标是编译以成功结束,无论需要多长时间.
我试图在一天之内使用Python和Scrapy从所有国家的所有机场取消所有出发和到达.
这个着名站点(飞行雷达)使用的JSON数据库需要在一个机场的出发或到达> 100时逐页查询.我还根据查询的实际UTC计算时间戳.
我尝试使用此层次结构创建数据库:
country 1
- airport 1
- departures
- page 1
- page ...
- arrivals
- page 1
- page ...
- airport 2
- departures
- page 1
- page ...
- arrivals
- page
- page ...
...
Run Code Online (Sandbox Code Playgroud)
我使用两种方法按页面计算时间戳和网址查询:
def compute_timestamp(self):
from datetime import datetime, date
import calendar
# +/- 24 heures
d = date(2017, 4, 27)
timestamp = calendar.timegm(d.timetuple())
return timestamp
def build_api_call(self,code,page,timestamp):
return 'https://api.flightradar24.com/common/v1/airport.json?code={code}&plugin\[\]=&plugin-setting\[schedule\]\[mode\]=&plugin-setting\[schedule\]\[timestamp\]={timestamp}&page={page}&limit=100&token='.format(
code=code, page=page, timestamp=timestamp)
Run Code Online (Sandbox Code Playgroud)
我将结果存储到CountryItem
包含许多AirportItem
机场的结果中.我 …
我尝试为我的项目学习并实现一个简单的遗传算法库.在这个时候,人口的进化,选择已经准备就绪,我正在尝试为Java和Scala中的遗传进化引擎实现一个简单的好变异算子,如高斯变异算子(GMO).
我在基于多目标进化算法的Pareto排名(PM Mateo,I.Alberto),第6页和第7页的论文A变异算子中找到了关于高斯变异算子(GMO)的一些信息.
但我有一些问题需要找到有关如何在Java中实现此高斯变异算子和此运算符的其他有用变体的其他信息.我该怎么办?
我正在使用random.nextGaussian()
随机Java util 的功能,但此方法仅返回0到1之间的随机数.
所以,
a)在这种情况下,如何修改返回编号的精度?(例如,我想获得一个介于0和1之间的随机双数,步长等于0.00001.)
b)我如何指定mu
和sigma
使用这个函数,因为我想在本地搜索我的基因组的值,而不是在-1和1之间.我怎样才能调整我的基因组价值的本地研究?
经过研究,我找到了b)问题的答案.我似乎可以取代高斯随机数,如下所示:
newGenomeValue = oldGenomeValue + (( gaussiandRndNumber * sigma ) + mean )
Run Code Online (Sandbox Code Playgroud)
其中mean
=我的基因组价值.
(参见底部的方法如何生成具有正态或高斯分布的随机数?)
java random artificial-intelligence gaussian genetic-algorithm
我实际上正在评估不同的解决方案,以增强/探索我的 R/Python 科学工作流程中的可重复性可重现性:具有可重现分析(绘图、分析)和纸张的数据。
如您所知,有两大 Linux 版本提供了一些解决方案:Nix 和 Guix
在 nix 中,通常描述的用 R 开发的方式是,例如,使用rWrapper
和rPackages
:
pkgs.rWrapper.override{ packages = with pkgs.rPackages; [tidyverse rmarkdown]; };
Run Code Online (Sandbox Code Playgroud)
我的问题是(不是那么......)简单,就像 Python 一样,众所周知,R 在可重复性方面是一场噩梦,即使在中期也是如此。为了好玩,您可以尝试使用最新版本的 R 运行 2 年以来的 ggplot2 代码...
为了提出一个可以从科学论文的相同数据产生相同结果的薄片,我有兴趣在推导中修复 R 的版本和用于计算分析或绘图的 R 包的版本。
pkgs.rWrapper.override{ packages = with pkgs.rPackages; [tidyverse rmarkdown]; };
Run Code Online (Sandbox Code Playgroud)
例如,我如何更精确地定义我想使用的,编译我的test.Rmd
,只有 tidyverse 1.3.1 和 R 4.1.O ?甚至在 5 年内?
我发现 Guix 显示了 R 和 tidyverse 的不同可用包/版本:
tidyverse.1.3.1 所需的版本已明确显示:
随着rPackages
在Nix
我搜索的方式来实现类似的东西,即。一种将 R 或 …
我试图返回一个带有until循环的可变序列,但是我有一个不可变的seq返回(0到nbGenomes):
def generateRandomGenome(nbGenomes:Int): IndexedSeq[GenomeDouble]={
return ((0 until nbGenomes toSeq).map{e => generateRandomGenome})
}
Run Code Online (Sandbox Code Playgroud)
返回编译错误:
found : scala.collection.immutable.IndexedSeq[org.openmole.tools.mgo.mappedgenome.genomedouble.GenomeDouble]
required: scala.collection.mutable.IndexedSeq[org.openmole.tools.mgo.mappedgenome.genomedouble.GenomeDouble]
return ((0 until nbGenomes toSeq).map{e => generateRandomGenome})
Run Code Online (Sandbox Code Playgroud)
我如何强制until循环返回一个可变的seq?谢谢scala社区!
我正在尝试使用Scala以不可变的方式编写NSGA2中使用的Deb的快速非支配排序算法(NDS).
但问题似乎比我想象的要困难,所以我在这里简化了制作MWE的问题.
想象一下,一个群体Seq[A]
,每个A
元素decoratedA
都有一个列表,其中包含指向其他群体元素的指针Seq[A]
.
一个函数evalA(a:decoratedA)
取linkedA
它包含的列表,并减少每个的值.
接下来,我将获取decoratedAPopulation
人口A 的子集列表,并对evalA
每个人进行调用.我有一个问题,因为在这个子集列表上的元素的每次迭代之间decoratedAPopulation
,我需要A
用decoratedA
新的更新linkedA
它包含的新的更新它包含...
更有问题的是,每个人口元素都需要更新'linkedA'来替换链接元素,如果它发生变化......
你可以看到Hum,以这种方式保持所有链表同步似乎很复杂.我提出了另一个解决方案底部,可能需要递归才能在每个EvalA
替换元素的新种群后返回.
我怎样才能以不变的方式正确地做到这一点?
以可变的方式编码很容易,但我找不到以不可变的方式做到这一点的好方法,你有路径或想法吗?
object test extends App{
case class A(value:Int) {def decrement()= new A(value - 1)}
case class decoratedA(oneAdecorated:A, listOfLinkedA:Seq[A])
// We start algorithm loop with A element with value = 0
val population = Seq(new A(0), new A(0), new A(8), new A(1))
val decoratedApopulation = Seq(new …
Run Code Online (Sandbox Code Playgroud) 我是使用apache或nginx在VPS上管理docker容器的linux noob.
我使用OVH经典Vps(4go ram,25Go SSD)已经安装了ubuntu 15.04 + docker的图像.
安装docker容器非常简单,在我的情况下我安装没有问题图像sharelatex.
docker run -d \
-v ~/sharelatex_data:/var/lib/sharelatex \
-p 5000:80 \
--name=sharelatex \
sharelatex/sharelatex
Run Code Online (Sandbox Code Playgroud)
站点可以通过http://51.255.47.40:5000
端口上的VPS的IP访问,显示站点工作没有任何问题.
我已经将一个子域(tools.sebastienreycoyrehourcq.fr)配置为服务器ip vps(51.255.47.40
在webfaction面板中路由到External),不工作,不明白为什么.
我安装了一个apache服务器51.255.47.40
,但我想最好的选择可能是安装一个nginx或apache的docker镜像?你能就此提出建议吗?之后,如何5000
在经典的80端口apache或链接到我的子域的nginx上重定向到docker镜像的端口?
由于scala 2.9.2项目与java 8版本之间不兼容,我需要在我的maven项目中手动指定jvm用法.
pom.xml中我做,用文档在这里:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.netlogo.extension</groupId>
<packaging>jar</packaging>
<artifactId>rungekuta</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${lib.org.scala-lang.scala.version}</version>
</dependency>
<dependency>
<groupId>org.nlogo</groupId>
<artifactId>netlogo</artifactId>
<version>5.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
<properties>
<lib.org.scala-lang.scala.version>2.9.3</lib.org.scala-lang.scala.version>
<maven.scala.version>${lib.org.scala-lang.scala.version}</maven.scala.version>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifestEntries>
<Extension-Name>rungekuta</Extension-Name>
<Class-Manager>org.netlogo.extension.rungeKuta.RungeKutaExtension</Class-Manager>
<NetLogo-Extension-API-Version>5.0</NetLogo-Extension-API-Version>
</manifestEntries> …
Run Code Online (Sandbox Code Playgroud) 我正在搜索一些库,它实现了在多个游戏中使用的基于组件的实体系统(ECS)框架,并在许多游戏引擎中实现(unity,libgdx等)
我正在scala(ECS roguelike)开始一个小游戏项目,此时我只找到一个名为ashley的java库.
你知道是否存在其他ECS库(在Scala中),或者唯一的方法是在scala(ashley)中使用或重新实现这个库吗?
另一个相关的问题,演员范式和基于组件的实体系统并不是那么遥远,有什么区别?
实际上我正在使用R + Python和RPY2来操作数据和ggplot来创建漂亮的图形..我在PostgreSQL数据库中有一些数据,而我正在使用psycopg2来查询数据.
我正在开始论文,将来我需要一个OLAP多维数据集来存储我的(非常大的)模拟数据:多维,聚合查询等.
是否有任何最佳或标准的实践来连接Python(我想要Python + R,没有jpivot或Java中的其他仪表板)和像Mondrian这样的OLAP引擎?我在Google上搜索了任何解决方案,但我找不到任何东西.
我简要地评价SQLAlchemy的和Django的ORM,但他们没有MDX或XML/A接口来查询OLAP服务器(蒙德里安或其他)...
是否可以编写一个查询的MDX,并与psycopg + ODBC,查询我的OLAP服务器,OLAP服务器给我从我的模拟数据的应答(Python对象上没有映射,但它的确定对我来说)?
更新1:
为什么我需要搜索OLAP + Mondrian技术?
由于拉瓦尔大学(GeoSoa个省+蒂埃里Badard)写了一个空间延伸到OLAP:SOLAP,并在蒙德里安实施本作GeoMondrian.我感兴趣的是因为我正在研究基于空间多代理的模拟(〜=地理模拟).
所述GeoSoa DEPARTEMENT创建一个基于Ajax组件通信和可视化与GeoMondrian空间数据:SOLAPLAYERS,其可通过其Xlma的servlet查询蒙德里安服务器.
问题:可能是在大数据处理速度慢,需要互联网或Apache 2,简单地说,这只是可视化的数据或地图...就我而言,我需要的原始数据,以使自己的数据处理+与R图形:空间分析,回归分析分析,排序等等.在这里,SOLAP帮助我为后来的复杂R分析准备数据.
为何选择Python?
1 - 对空间数据的Web访问 -
我试图用一个"酷"的Python框架,像GeoDjango内置或MapFish:在GIS大社区,开源,使用GeoAlchemy操纵空间查询/数据,包括与JavaScript扩展和可视化的OpenLayers等.
2 - GIS中对空间数据的本地访问 -
我想在QGIS(开源GIS)中创建一个插件来访问和可视化数据,以及QGIS插件和API = Python.
3 - 自动分析数据 -
用户或科学家使用网格计算运行模拟,并选择他们想要对此数据运行的自动分析(R + ggplot2 + MDX查询).我的目标是创建模拟的综合报告(图形,表格数据等).
因此,在模拟之后,数据转到OLAP/SOLAP多维数据集,许多Python脚本(由用户创建)通过MDX获取数据,使用R + RPY2处理数据,并为doku-wiki或其他人的科学家编写并生成很酷的输出.社区平台.
问题?
1 - Olap4j是Mondrian与外部组件通信的API核心,是Java制造的:/
2 - SOLAPLAYERS使用Ajax访问数据,对我来说太慢了.
3 - SQLAlchemy和GeoAlchemy没有与多维数据库(OLAP)的驱动程序连接.
*解决方案?*
1 - Py4j用Python访问olap4j中的Java对象或Java集合?编写我自己的函数来访问Java映射集合?=>危险而且不是很容易?... …
scala ×4
immutability ×2
python ×2
recursion ×2
apache ×1
architecture ×1
cabal ×1
docker ×1
game-engine ×1
gaussian ×1
ghc ×1
guix ×1
haskell ×1
java ×1
linux ×1
list ×1
maven ×1
maven-plugin ×1
mdx ×1
mutable ×1
nginx ×1
nix ×1
nixpkgs ×1
olap ×1
pom.xml ×1
psycopg2 ×1
r ×1
random ×1
roguelike ×1
scrapy ×1
sequence ×1
vps ×1
web-scraping ×1
xmla ×1
yield ×1