我目前正在测试bigcouch的大量数据(每天1500万条记录).
当我需要生成数据视图时,我遇到了一些平衡问题,因为我的两台机器中的一台比另一台机器弱得多.结果是,更好的机器完成并且没有任何关系,而较弱的机器还有很多工作要做.(单核与双核)
我的想法是将一些碎片从较弱的机器移动到另一台碎片,这样它们几乎可以在同一时间完成.
因此,我的问题是,如何将碎片从周末bigcouch服务器移动到更好的?
感谢您的帮助+最好的问候!
安迪
我目前正在开展一个项目,我们希望用户通过Facebook和其他OAuth2提供商登录.此外,REST api应该是无状态的.因此,不应创建/使用cookie/jsessionids.对于api的授权,在通过Facebook成功登录后,api会发布JWT.消耗其余api的webapp是使用AgularJS和satellizer构建的.我将代码缩减为github上的最小示例.
工作流程理念:
到目前为止工作
问题
webapp和其他api的"login/facebook?code = XXX"调用的组合不起作用.我发现当你进行GET"login/facebook"时,你将被重定向到facebook,并在网址上附加一个额外的状态参数.此外,当facebook重定向回api时,还会添加此状态参数.从我在网上找到的,这似乎是一种CSRF保护,对吧?我猜这个东西也创造了jsessionid cookie?
问题
示例代码
如前所述,我在GitHub上放了一个完整的最小例子.在这里,我将只发布WebSecurityConfigurerAdapter(希望)最重要的部分.该完整的文件在这里.
@EnableOAuth2Client
@Configuration
public class OAuth2ClientConfigurer extends WebSecurityConfigurerAdapter {
@Autowired
private OAuth2ClientContext oAuth2ClientContext;
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
httpSecurity
.csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).enableSessionUrlRewriting(false).and()
.antMatcher("/**").authorizeRequests()
.antMatchers("/login/**").permitAll()
.anyRequest().authenticated().and()
.exceptionHandling().authenticationEntryPoint(new Http403ForbiddenEntryPoint()).and()
.addFilterBefore(statelessJwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class)
.addFilterBefore(createSsoFilter(facebook(), facebookSuccessHandler(), "/login/facebook"), BasicAuthenticationFilter.class);
}
private OAuth2ClientAuthenticationProcessingFilter createSsoFilter(ClientResourceDetails clientDetails, AuthenticationSuccessHandler successHandler, String path) { …
Run Code Online (Sandbox Code Playgroud) 我对NoSQL数据库比较陌生,我不得不为监控工具评估不同的NoSQL-Solutions.
情况如下:一个数据只有大约100字节,但实际上有很多.在一天中,我们获得了大约1500万条记录...所以我目前正在测试9亿条记录(大约15GB作为SQL插入脚本)
我的问题是:Couchdb是否符合我的需求?我需要做范围查询(在创建记录的日期)并根据存储在数据中的"二级索引"定义的组总结一些列.)我知道MapReduce可能是计算它的最佳解决方案,但是CouchDB的JavaScript能够在可接受的时间内完成吗?
我已经尝试过MongoDB,但是MapReduce真的很差,做得很糟糕......我还读到了HBase和Cassandra.但也许CouchDB也是一个很好的可能性
我希望我能给你所有需要的信息......谢谢你的帮助!
安迪
我有一个标准的tensorflow Estimator和一些模型,并希望在多个GPU而不是一个GPU上运行它.如何使用数据并行来完成?
我搜索了Tensorflow文档,但没有找到示例; 只有句子说Estimator会很容易.
有没有人使用tf.learn.Estimator有一个很好的例子?或指向教程的链接?
我想对以.mp4格式存储的视频进行一些图像分析.因此,我需要一种方法来用Java获取这部电影的图像.我骂了很多,发现了像jcodec和jaad这样的库.但我无法使用这些库运行.正如我发现的那样,有一些例子(至少我没有找到)显示我的用例.
你能帮助我吗?你知道任何库可以做我需要的,至少在Win7 64位上运行.或者你知道如何使用jcodec实现这一目标吗?
非常感谢+最好的问候,安迪
编辑:
正如我写的,我用jcodec尝试过.我发现了如何获取帧的数据,但不知道如何将它变成像BufferedImage这样的东西.我希望这些数据不是简单的RGB格式,而是任何压缩格式.(我是否正确?)我不知道要解码这些数据.
您可以使用jcodec获取帧的数据,如下所示(至少据我所知):
public static void main(String[] args) throws IOException, MP4DemuxerException {
String path = "videos/video-2011-09-21-20-07-21.mp4";
MP4Demuxer demuxer1 = new MP4Demuxer(new FileInput(new File(path)));
DemuxerTrack videoTrack = demuxer1.getVideoTrack();
Packet firstFrame = videoTrack.getFrames(1);
byte[] data = firstFrame.getData();
}
Run Code Online (Sandbox Code Playgroud)
我还找到了以下内容:http://code.google.com/p/jcodec/source/browse/trunk/src/test/java/org/jcodec/containers/mp4/DitherTest.java? r = 70 但这不是使用可下载的jar-package工作(有编译错误).
谢谢你的帮助!
我正在尝试使用 TensorFlow 2.0 设置图像识别 CNN。为了能够分析我的图像增强,我想在张量板中查看我输入网络的图像。
不幸的是,我不知道如何使用 TensorFlow 2.0 和 Keras 来做到这一点。我也没有真正找到这方面的文档。
为简单起见,我展示了一个 MNIST 示例的代码。我将如何在此处添加图像摘要?
import tensorflow as tf
(x_train, y_train), _ = tf.keras.datasets.mnist.load_data()
def scale(image, label):
return tf.cast(image, tf.float32) / 255.0, label
def augment(image, label):
return image, label # do nothing atm
dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
dataset = dataset.map(scale).map(augment).batch(32)
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(dataset, epochs=5, callbacks=[tf.keras.callbacks.TensorBoard(log_dir='D:\\tmp\\test')])
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试使用Android的OpenGL ES 2.0进行游戏.我的地图是一个二维网格地图,每个位置都有一个高度值.现在我想在纹理中存储每个坐标的高度,以在顶点着色器中进行高度查找.
这个想法的好处是我可以生成一个通用三角网并将其(带偏移)放在用户当前正在查看的地图位置上.由于偏移,我可以省略每次用户移动其视图位置和我将从纹理读取的高度轮廓时创建新三角网的需要.
现在存在的问题是许多当前的Android设备(甚至是Galaxy S3)不支持顶点着色器中的纹理查找.可悲的是,这完全破坏了我目前的做法.
我的问题:还有其他可能从顶点着色器中的图形卡内存中获取数据吗?如果不直接指定每个顶点的数据,每次用户更改视图位置时,会强制我(据我所知)重新创建高度贴图.(每次用户更改视图位置时创建高度图都会变慢...)
感谢您的帮助+最好的问候,
安德烈亚斯
对于一个新项目,我必须读取文件的字符(具有可配置的编码)来处理输入.由于其中一些文件可能非常大(> 100MB),我想查看Java nio的内存映射文件的能力,以便更快地访问.
但是,我无法弄清楚,我是如何创建"Reader"的 - 就像使用正确的字符集解码从MappedByteBuffer中读取一样.
要创建MappedByteBuffer,我目前使用:
RandomAccessFile raFile = new RandomAccessFile("myFile.bla", "r");
FileChannel channel = raFile.getChannel();
MappedByteBuffer mappedByteBuffer = channel.map(MapMode.READ_ONLY, 0, channel.size());
Run Code Online (Sandbox Code Playgroud)
我知道,我可以使用getChar()从MappedByteBuffer中获取一个字符,但是如何指定编码呢?在它所说的javadoc中,总是读取两个字节并将其组合成一个char,但是ASCII编码文件是什么?
我还找到了Channels.newReader(...)方法,但是它们只能处理通道,而不能处理内存映射文件.MappedByteBuffer有类似的东西吗?
只是为了确保:我知道内存映射是一个有点昂贵的操作,因此只对较大的文件有用.我还没有决定是否使用它,但是想要根据我的特殊用例来评估它.
非常感谢提前+最好的问候,安德烈亚斯