来自Node我曾经安装特定版本的供应商lib的环境到项目文件夹(node_modules),告诉从控制台npm安装该版本的lib,package.json甚至直接从控制台安装,如下所示:
$ npm install express@4.0.0
Run Code Online (Sandbox Code Playgroud)
然后我习惯在我的项目中导入该包的那个版本:
var express = require('express');
Run Code Online (Sandbox Code Playgroud)
现在,我想做同样的事情go.我怎样才能做到这一点?是否可以安装特定版本的软件包?如果是这样,使用集中式$GOPATH,如何导入一个版本而不是另一个版本?
我会做这样的事情:
$ go get github.com/wilk/uuid@0.0.1
$ go get github.com/wilk/uuid@0.0.2
Run Code Online (Sandbox Code Playgroud)
但是,在导入过程中如何才能有所作为呢?
我正在使用SonarQube进行代码质量控制,然后突然构建,否则将无法分析和失败.
[INFO] [00:00:03.630]分析/mySuperProject/target/jacoco.exec - > java.io.IOException:不兼容的版本1007
当我使用调试开关调用maven构建时,会显示此原因
Caused by: java.io.IOException: Incompatible version 1007.
at org.jacoco.core.data.ExecutionDataReader.readHeader(ExecutionDataReader.java:127)
at org.jacoco.core.data.ExecutionDataReader.readBlock(ExecutionDataReader.java:107)
at org.jacoco.core.data.ExecutionDataReader.read(ExecutionDataReader.java:87)
at org.sonar.plugins.jacoco.AbstractAnalyzer.readExecutionData(AbstractAnalyzer.java:134)
at org.sonar.plugins.jacoco.AbstractAnalyzer.analyse(AbstractAnalyzer.java:107)
Run Code Online (Sandbox Code Playgroud)
在检查jacoco ExecutionDataReader时,我发现异常被抛出
if (version != ExecutionDataWriter.FORMAT_VERSION) {
throw new IOException(format("Incompatible version %x.",Integer.valueOf(version)));
}
Run Code Online (Sandbox Code Playgroud)
从ExecutionDataWriter我发现了
/** File format version, will be incremented for each incompatible change. */
public static final char FORMAT_VERSION = 0x1007;
Run Code Online (Sandbox Code Playgroud)
这种不相容的变化是什么?它为什么会发生?任何想法如何解决这一挑战?
我最近在我的计算机上重新安装了Cygwin,以便访问我缺少的几个命令行元素.我以前从未遇到过Cygwin的困难,但在重新安装之后,在(几乎)每个命令输入之后会继续出现错误消息.例如:
-bash-4.1$ wc m1.txt
3 [main] bash 2216 child_info_fork::abort: data segment start: parent(0x26D000) != child(0x38D000)
-bash: fork: retry: Resource temporarily unavailable
2013930 4027950 74968256 m1.txt
Run Code Online (Sandbox Code Playgroud)
通常,命令仍然运行(如上所示),但并非总是如此.偶尔,"错误"消息连续出现几次(初始数字"3"将变为"4"或"2",特别是如果我启动第二个Cygwin窗口.
另外,一旦我启动Cygwin,我会在提示之前收到以下消息:
3 [main] bash 6140 child_info_fork::abort: data segment start: parent(0x26D000) != child(0x36D000)
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
-bash-4.1$
Run Code Online (Sandbox Code Playgroud)
目前,我正在讨论是否要再次卸载/重新安装Cygwin,或者只是接收错误消息,但我很好奇是否可能存在我不知道的问题.
我有几个std::vector,全长相同.我想对这些向量中的一个进行排序,并将相同的变换应用于所有其他向量.这样做有一个简洁的方法吗?(最好使用STL或Boost)?一些向量包含ints,其中一些包含std::strings.
伪代码:
std::vector<int> Index = { 3, 1, 2 };
std::vector<std::string> Values = { "Third", "First", "Second" };
Transformation = sort(Index);
Index is now { 1, 2, 3};
... magic happens as Transformation is applied to Values ...
Values are now { "First", "Second", "Third" };
Run Code Online (Sandbox Code Playgroud) 我有两个标有intent过滤器的活动
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.package"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:name=".MyApp"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- work order activity -->
<activity
android:name=".app.WorkOrderActivity"
android:label="@string/work_order"
android:taskAffinity="com.package.task_for_work_order_activity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- inventory activity -->
<activity
android:name=".app.InventoryActivity"
android:label="@string/inventory"
android:taskAffinity="com.package.task_for_inventory_activity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
问题是,当我安装apk文件时,没有显示任何活动,因为据我所知,系统无法指定应显示哪些活动.
我真的需要在启动器中显示两个活动,所以请不要提供有关从第二个活动中删除intent-filters的建议,或者如果你这样做,请提供另一种在启动器中显示两个图标的方法.
在以下示例中,f()返回不完整类型的函数A被标记为已删除:
struct A;
A f() = delete;
Run Code Online (Sandbox Code Playgroud)
它被 GCC 接受,但不被 Clang 接受,Clang 抱怨道:
error: incomplete result type 'A' in function definition
Run Code Online (Sandbox Code Playgroud)
演示: https: //gcc.godbolt.org/z/937PEz1h3
根据标准,哪个编译器是正确的?
有人知道定义常量矢量的方法吗?
例如,而不是定义
std::vector<int>
Run Code Online (Sandbox Code Playgroud)
这将是
std::vector<10, int>
Run Code Online (Sandbox Code Playgroud)
它应该是完全交叉平台的.也许是一个开源类?
今天我正在玩C++ 17的类模板参数演绎.想到的第一个明显的想法是传递一个可调用的模板参数.一个可调用的,其中一个是lambda,为什么不呢.我们试试吧.
template<typename F> class foo
{
F f;
public:
foo(F in) : f(in) { f(); /* not very useful, admitted */ }
};
void bar() { puts("a"); }
int main()
{
auto a = foo(bar);
auto b = foo([](){ puts("b"); });
return (void) a, (void) b, 0;
}
Run Code Online (Sandbox Code Playgroud)
以下是clang(5.0,r300688)对此的评价:
警告:函数'<(lambda at [source location])>'具有内部链接但未定义
代码编译并且肯定"工作正常",但警告表明编译器并不完全满意.
我已经准备好同意lambda有内部链接(匿名它在同一个翻译单元的其他地方无法访问,所以肯定它在另一个翻译单元中无法访问),但是怎么样呢.我不想从另一个翻译单元访问它.
关于缺乏定义的部分让我感到好笑,我甚至不知道如何在没有定义的情况下编写lambda.
总结:什么给出?该怎么做?我不喜欢警告,不仅它们使构建不那么漂亮,而且它们通常意味着某些东西是错误的,各种不确定的行为可能很快就会让你感到厌烦.另一方面,如何通过写出它的定义来使lambda 更加定义?
我正在开发基于的相机应用程序Camera API 2,我发现使用libyuv有几个问题.我想转换YUV_420_888从ImageReader中检索到的图像,但是我在可重复处理的表面中进行缩放时遇到了一些问题.
本质上:图像以绿色调而不是具有相应的音调(我正在导出.yuv文件并使用http://rawpixels.net/检查它们).
我认为我在步幅方面做错了,或提供了无效的YUV格式(也许我必须将图像转换为另一种格式?).但是,我无法弄清楚错误在哪里,因为我不知道如何将绿色与缩放算法相关联.
这是我正在使用的转换代码,您可以忽略返回NULL,因为还有与问题无关的进一步处理.
#include <jni.h>
#include <stdint.h>
#include <android/log.h>
#include <inc/libyuv/scale.h>
#include <inc/libyuv.h>
#include <stdio.h>
#define LOG_TAG "libyuv-jni"
#define unused(x) UNUSED_ ## x __attribute__((__unused__))
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS_)
struct YuvFrame {
int width;
int height;
uint8_t *data;
uint8_t *y;
uint8_t *u;
uint8_t *v;
};
static struct YuvFrame i420_input_frame;
static struct YuvFrame i420_output_frame;
extern "C" {
JNIEXPORT jbyteArray JNICALL
Java_com_android_camera3_camera_hardware_session_output_photo_yuv_YuvJniInterface_scale420YuvByteArray(
JNIEnv *env, …Run Code Online (Sandbox Code Playgroud) 使用Laravel框架我需要根据一组有效值检查提交字段的值.
问题是Laravel使用了| 用于分隔属于字段的验证规则的字符.
这并不能正常工作,它抛出一个"的preg_match:没有结束符'/’发现":
'my_field' => 'match:/^(value1|value2|different value|yet another)$/'
Run Code Online (Sandbox Code Playgroud)
|如果\角色没有帮助,在这种情况下如何逃脱角色呢?