我一直在使用Enzyme在我的React应用程序中测试组件.在几周内第一次更新我的软件包后,我开始从测试中得到错误.
FAIL src/__tests__/title.test.ts
? Testing title component › renders
Enzyme Internal Error: Enzyme expects an adapter to be configured, but found none. [...]
To find out more about this, see http://airbnb.io/enzyme/docs/installation/index.html
Run Code Online (Sandbox Code Playgroud)
我'enzyme-adapter-react-16'按照链接中的描述继续安装,并将以下行添加到我的测试文件中:
import * as enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
enzyme.configure({ adapter: new Adapter() });
Run Code Online (Sandbox Code Playgroud)
但是,由于我的应用程序是用TypeScript编写的,现在我遇到了两个新问题.
为了澄清图像,第一个错误TS7016是没有任何类型的enzyme-adapter-react-16,第二个错误TS2339表示enzyme没有该属性configure.
我对TypeScript比较陌生,所以我需要一些帮助.我试过安装类型,enzyme-adapter-react-16但那些似乎不存在.
我应该尝试自己添加它们,还是有某种方法可以一起避免这个问题?
还好奇是出现这个错误的原因.我之前不需要适配器,为什么现在呢?
我试图了解如何集成D3和React.具体来说,我试图了解如何使用D3渲染可视化对React的影响.正如这个优秀的问题所解释的那样:
[...]目前没有很好的方法可以使用React和D3 [...]这是因为在React世界中你不进行直接的DOM操作,但是在d3世界中你唯一能做的就是这样做.
答复继续说
在我看来,目前对Force Layouts等的共识是简单地退出React以获取这些组件并让d3做其事.这不是理想的,但它的性能更高.
让D3照顾渲染对React有什么影响?它是否只会影响使用D3或其他组件的组件的性能?例如,可以用某种方式使用D3螺丝和React的虚拟DOM直接操作DOM吗?我基本上试图了解使用D3需要支付的价格.
我正在研究NLP序列标记问题.我的数据由(w_1, w_2, ..., w_k)具有相应标签的可变长度序列组成(l_1, l_2, ..., l_k)(在这种情况下,任务被命名为实体提取).
我打算用回归神经网络解决这个问题.由于序列长度可变,我需要填充它们(我希望批量大小> 1).我可以选择预先填零它们,或者将它们填充为零.即要么我让每个序列(0, 0, ..., w_1, w_2, ..., w_k)或(w_1, w_2, ..., w_k, 0, 0, ..., 0)使得每个序列的lenght是一样的.
如何在填充前后填充影响结果?
似乎预填充更常见,但我无法找到解释为什么它会更好.由于RNN的性质,它对我来说是一种随意的选择,因为它们跨时间步长共享权重.
在使用Kaggle笔记本时,我遇到了一个问题.以下代码块:
from nltk import ngrams
def grams(tokens):
return list(ngrams(tokens, 3))
negative_grams = preprocessed_negative_tweets.apply(grams)
Run Code Online (Sandbox Code Playgroud)
结果出现了一个红色的盒子
/opt/conda/bin/ipython:5: DeprecationWarning: generator 'ngrams' raised StopIteration
Run Code Online (Sandbox Code Playgroud)
该变量preprocessed_negative_tweets是包含令牌的Pandas数据帧.
有谁知道如何让它消失?
(这里有完整笔记本)
高水平
我是JS和Node的新手.我正在开发一个应该返回状态值的API端点.要计算状态值,我需要进行两个连续的mongo查询,其中第二组查询依赖于第一个查询.第二组查询将为我提供第一个查询中找到的每个值的状态,我将根据某些逻辑选择一个.NodeJS中最好的方法是什么?
细节
这是我第一次尝试的部分内容.
function getItemStatus(key, value, callback) {
MongoClient.connect(mongo_url, function(err, db) {
if (err) { return console.dir(err); }
db.collection('status', function(err, coll) {
if (err) { return console.dir(err); }
coll.distinct("_id.metric", function(err, metrics) {
if (err) { return console.dir(err); }
console.log('metrics : ', metrics);
_.foreach(metrics, function(metric) {
var query = {"_id": {
"$gte" : {key: key, value: value, created: new Date("1800-01-01T00:00:00"), metric : metric},
"$lte" : {key: key, value: value, created: new Date("2100-01-01T00:00:00"), metric : metric}}};
coll.find(query, {sort: {"_id.created": -1}, limit: …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建使用 Webpack 2.0 构建的 React+TypeScript+NodeJS 应用程序的 Docker 映像,但出现以下错误
> frontend@0.0.1 build /
> webpack -p --config configs/webpack.config.ts --env.build --env.sourceMap
{ isDev: false }
glob error { Error: EPERM: operation not permitted, scandir '/proc/1/map_files/55836c87b000-55836c897000'
errno: -1,
code: 'EPERM',
syscall: 'scandir',
path: '/proc/1/map_files/55836c87b000-55836c897000' }
Error: EPERM: operation not permitted, scandir '/proc/1/map_files/55836c87b000-55836c897000'
Run Code Online (Sandbox Code Playgroud)
运行以下命令后
docker build -t frontend .
Run Code Online (Sandbox Code Playgroud)
我的 package.json 看起来像这样
"scripts": {
"clean": "rimraf build",
"build": "webpack -p --config configs/webpack.config.ts --env.build --env.sourceMap",
"dev": "webpack-dev-server --config configs/webpack.config.ts",
"dev:open": "webpack-dev-server --config configs/webpack.config.ts --open",
"lint": …Run Code Online (Sandbox Code Playgroud) 我有一个要在CircleCI上进行构建和测试的多项目Gradle构建,然后将生成的图像上传到Google Container Repository。
在根目录中使用Gradle Wrapper(gradlew)设置项目。例如,我可以从根目录中调用
./gradlew :backend:api:build
这将构建子项目并生成一个胖子罐。我打算在最终的Docker映像中放入并部署这个胖子。为了使Docker映像尽可能小,我在每个子项目目录中都放置了一个Dockerfile。我要做的只是例如复制/root/backend/api到Docker映像中,并构建该子项目。这就是我遇到麻烦的地方。当我尝试
RUN ./gradlew :backend:api:build
放置在Dockerfile中的root/backend/api结果为/bin/sh: 1: ./gradlew: not found。这是预期的,因为./gradlew仅在根目录中可用。我试图了解在这种情况下是否有最佳实践。我考虑过的一些选择是:
./gradlew文件放在每个子项目目录中。感到多余和不好。/backend/api。这样会产生更大的图像,也感觉多余。任何建议将不胜感激!
我有和RDD [String]每行包含一个单词.目前规模很小,10-20k线,但目标是将其扩展到数亿行.我遇到的问题是,即使对于这个小数据集,执行map/reduceByKey操作的时间也要长得惊人.我执行以下操作:
val wordcount = filtered.map(w => (w,1)).reduceByKey(_ + _)
Run Code Online (Sandbox Code Playgroud)
对于16780线,在2 GHz i7 8 GB RAM机器上需要12321 ms.我发现有一种叫做聚合的方法可能更有效,因此速度更快:
aggregate[U: ClassTag](zeroValue: U)(seqOp: (U, T) => U, combOp: (U, U) => U): U
Run Code Online (Sandbox Code Playgroud)
在我的案例中,我无法弄清楚如何实现这一点.我假设它应该是类似的东西
aggregate(collection.immutable.Map)(??)
Run Code Online (Sandbox Code Playgroud)
所以我的问题是
1)使用aggregate而不是reduceByKey是否有意义
2)如果确实如此,它将如何实施?
我正在 Alpine 容器中运行 Nginx Web 服务器。看来如果没有不同的权限我就无法使用systemctl(https://github.com/moby/moby/issues/2296),或者我得到了Failed to get D-Bus connection: Unknown error -1。是否有另一种方法可以实现相同的目的,即检查正在运行的 Nginx 实例的状态?
我正在尝试一起使用React,Redux和TypeScript时如何减少样板量.可能你不能在这种情况下,但想看看是否有人有想法.
我目前有一个组件调度一个切换菜单的动作,在显示和隐藏它之间交替.要做到这一点,我已经为我的类定义了这样的东西(省略与state相关的代码,专注于调度动作):
import {Action, toggleMenu} from "../../actions/index";
interface IConnectedDispatch {
toggleMenu: (isActive: boolean) => Action;
}
class HeaderMenu extends React.Component<IOwnProps & IConnectedState & IConnectedDispatch, any> {
constructor(props: IOwnProps & IConnectedState & IConnectedDispatch) {
super(props);
this.toggleMenuState = this.toggleMenuState.bind(this);
}
public render() {
return (
<button className={buttonClass} onClick={this.props.toggleMenu(this.props.isActive)} type="button">
</button>
);
}
}
const mapDispatchToProps = (dispatch: redux.Dispatch<Store.All>): IConnectedDispatch => ({
toggleMenu: (isActive: boolean) => dispatch(toggleMenu(isActive))});
Run Code Online (Sandbox Code Playgroud)
该操作定义为
export function toggleMenu(isActive: boolean): Dispatch<Action> {
return (dispatch: Dispatch<Action>) => {
dispatch({
isActive,
type: "TOGGLE_MENU", …Run Code Online (Sandbox Code Playgroud) docker ×3
reactjs ×3
javascript ×2
performance ×2
typescript ×2
unix ×2
apache-spark ×1
circleci ×1
d3.js ×1
dockerfile ×1
enzyme ×1
gradle ×1
ipython ×1
kaggle ×1
mongodb ×1
nginx ×1
nltk ×1
node.js ×1
python ×1
redux ×1
testing ×1
webpack-2 ×1