我有一个项目,我想使用最新的EmberJS进行开发。目前,节点0.10.4安装在我给出的机器上,这是我需要的后端系统的硬盘要求。由于nodejs已经过时,我无法在不更新NodeJ的情况下在此机器上安装最新的Ember。我的ember应用程序必须通过socket.io与后端系统进行通信,是否可以在这台机器上创建一个虚拟开发环境,用最新的nodejs开发Ember,并且能够在开发过程中轻松配置socket.io连接?
我相信一旦将Ember编译成分发文件,我可以很容易地将这些文件迁移到我过时的nodejs的公共文件夹中,但如果我错了,请纠正我 < / p>
关于解决方案的任何想法都很容易配置而不需要新机器?
答案 0 :(得分:2)
处理这种情况的最简单方法是使用节点版本管理器(NVM)。 只需按照位于here的安装说明进行操作。
然后您只需输入nvm install <desired version of node>
。
例如,在开发后端系统时,首先输入nvm install v0.10.4
。在开发您的Ember应用程序时,请键入nvm install v6.0.0
。
(注意:要找出可供下载的节点版本,请运行nvm ls-remote
)。
答案 1 :(得分:1)
如果您使用Linux - 您可以执行以下步骤:
import numpy as np
import string
import random
# generate some fake data
p = [(
str(int(e)),
''.join(
random.choice(
string.ascii_uppercase + string.digits)
for _ in range(10)
)
) for e in np.random.normal(10, 1, 10000)]
posts = spark.createDataFrame(p, ['label', 'val'])
# define the sample size
percent_back = 0.05
# use this if you want an (almost) exact number of samples
# sample_count = 200
# percent_back = sample_count / posts.count()
frac = dict(
(e.label, percent_back)
for e
in posts.select('label').distinct().collect()
)
# use this if you want (almost) balanced sample
# f = posts.groupby('label').count()
# f_min_count can also be specified to be exact number
# e.g. f_min_count = 5
# as long as it is less the the minimum count of posts per user
# calculated from all the users
# alternatively, you can take the minimum post count
# f_min_count = f.select('count').agg(func.min('count').alias('minVal')).collect()[0].minVal
# f = f.withColumn('frac',f_min_count/func.col('count'))
# frac = dict(f.select('label', 'frac').collect())
# sample the data
sampled = posts.sampleBy('label', fractions=frac)
# compare the original counts with sampled
original_total_count = posts.count()
original_counts = posts.groupby('label').count()
original_counts = original_counts \
.withColumn('count_perc',
original_counts['count'] / original_total_count)
sampled_total_count = sampled.count()
sampled_counts = sampled.groupBy('label').count()
sampled_counts = sampled_counts \
.withColumn('count_perc',
sampled_counts['count'] / sampled_total_count)
print(original_counts.sort('label').show(100))
print(sampled_counts.sort('label').show(100))
print(sampled_total_count)
print(sampled_total_count / original_total_count)
然后你应该只为这个用户使用node.js 7。*。*,但其他用户的默认版本是0.10.4