小编120*_*arm的帖子

JavaScript使用率过高/过低.这几天可以接受什么?

作为一个崭露头角的Web开发人员,我正在尝试跨越平台可用性/兼容性和pizazz(功能)的细线.

这是几年前的一个问题吗?我的网站的部分 - 我敢说 - 需要(也让我的生活更轻松)JavaScript不会是移动设备想要访问的东西(尽管如果它想要的话).

http://www.w3schools.com/browsers/browsers_stats.asp

如果向下滚动,似乎表明95%访问该站点的计算机已启用/安装了JavaScript.

处理此问题的人的任何意见将不胜感激.

javascript compatibility

5
推荐指数
1
解决办法
203
查看次数

如何在spark java中实现按值排序

JavaPairRDD<String, Float> counts = ones
            .reduceByKey(new Function2<Float, Float, Float>() {
                @Override
                public Float call(Float i1, Float i2) {
                    return i1 + i2;
                }
            });
Run Code Online (Sandbox Code Playgroud)

我的输出如下:

id,value
100002,23.47
100003,42.78
200003,50.45
190001,30.23
Run Code Online (Sandbox Code Playgroud)

我希望输出按值排序,如:

200003,50.45
100003,42.78
190001,30.23
100002,23.47
Run Code Online (Sandbox Code Playgroud)

我该如何实现这一目标?

java sorting apache-spark

5
推荐指数
1
解决办法
1万
查看次数

SChannel / SSL实施?

我可以轻松地使用“ win套接字”来实现HTTP,但是我一直在努力使用“ SChannel”来实现HTTPS,而“至少对我来说”的文献很少。如何建立用于HTTPS通信的安全连接,我应该注意任何安全性或性能方面的考虑吗?

c++ ssl winapi schannel winsock2

5
推荐指数
1
解决办法
346
查看次数

如何使用JMP变异图制作嵌套x标签,但使用ggplot2

我喜欢JMP可变性图。(链接)这是一个强大的工具。

该示例的示例具有2个x轴标签,一个用于部件号,一个用于操作员。 JMP变异图2级

在这里,JMP变异图显示了两个以上级别的变量。以下按油量,批量和爆米花类型划分。找到正确的序列以显示最强的分离可能需要花费一些工作,但这是信息交流的绝佳工具。
JMP变异图2级

使用ggplot2库,如何用R使用多层x标签?

我能找到的最好的是这个(linklink),它根据圆柱数分开,但是不做x轴标签。

我的示例代码是这样的:

#reproducible
set.seed(2372064)

#data (I'm used to reading my own, not using built-in)
data(mtcars)
attach(mtcars)

#impose factors as factors
fact_idx <- c(2,8:11)
for(i in fact_idx){
     mtcars[,i] <- as.factor(mtcars[,i])
}

#boxplot
p <- ggplot(mtcars, aes(gear, mpg, fill=cyl)) + 
     geom_boxplot(notch = TRUE)  
p
Run Code Online (Sandbox Code Playgroud)

这给出的图是:

在此处输入图片说明

如何使x轴标签同时显示齿轮和气缸?

在jmp中我得到这个:
在此处输入图片说明

r ggplot2 boxplot sas-jmp

5
推荐指数
1
解决办法
1215
查看次数

警告C++隐式转换

我有这个C++代码:

#include <iostream>
#include <vector>
#include <numeric>

using namespace std;

int main() {
  vector<int64_t> vec = {4294967296, 4294967296, 4294967296};
  int64_t sum = accumulate(vec.begin(), vec.end(), 0, [](int64_t sum, int64_t val){
    return sum + val;
  });
  cout << "sum = " << sum << endl;
}
Run Code Online (Sandbox Code Playgroud)

它返回sum = 0是因为隐式转换intint64(参见函数的0第三个参数accumulate).更换0后的(int64_t)0一切工作正常.

但是我可以在编译时检测到这些东西吗?-Wconversion在这种情况下不起作用.

c++ implicit-conversion

5
推荐指数
1
解决办法
243
查看次数

如何在Nasm程序中替换特定字符

我想用'#'字符替换dbyte中的空格,并且db应该通过堆栈传递给过程。

我已经写了下一个代码片段,并且替换可以正常工作,但是我不明白如何func正确地将db传递给过程。

org 0x100 
    push array
    call func
    mov bp, sp 
    mov bx, [bp]
    ret 

loop:
    mov al, byte[bx+si]
    cmp al, 0
     jz func
    cmp al , ' '
     jnz loop
    mov byte[bx+si], '#'
    inc si
    jmp loop
    ret

func:  
    push bp  
    mov bp, sp  
    mov bx, [bp + 4]    
    call loop
    mov [bp + 4], bx
    pop bp  
    ret 4 

array db "a b c", 0
Run Code Online (Sandbox Code Playgroud)

assembly nasm x86-16

5
推荐指数
0
解决办法
61
查看次数

vc142和2019可再发行软件包与vc141的比较

在部署使用vc142构建的C ++应用程序时,是否有理由安装(我想是但我尝试发现它)安装2019可再发行组件,因为应用程序似乎可以与先前的可再发行组件包(vc141一起提供)完美地工作?我要记住,两者都是二进制兼容的,但更重要的是,2017年和2019年可再发行dumpbin /exportsmsvcp140.dllvcruntime140.dll产生相同的输出; 文件大小也相同。

我错过了什么?

c++ visual-studio

5
推荐指数
1
解决办法
277
查看次数

如何为 png_write_image 准备 RGB 数组和行指针?

我对 C 很陌生,需要一些关于 libpng 的帮助。我有一个用图像的 RGB 值填充的无符号字符数组,需要创建一个 .png 图像。我设法创建了一个大小合适并填充了像素值的图像,但原始图片如下所示: 原图 我的代码是这样做的: 新图片

像素值必须存储在无符号字符数组中是否正确:像素一红色,像素一绿色,像素一蓝色,像素二红色,像素二绿色,像素二蓝色,......我是否计算下面代码中的行指针正确吗?

构建像素阵列(将 Y、Cb、Cr 值转换为 RGB):

int wcnt = 0;

for(int y = 0; y < height; y++){
  for(int x = 0; x < width; x++){

    rgb[wcnt] = round(1.0 * _y[y][x] + 0.0 * _cb[y][x] + 1.402 * _cr[y][x]);        //red
    rgb[wcnt+1] = round(1.0 * _y[y][x] + (-0.34414 * _cb[y][x]) + (-0.71414 * _cr[y][x]));  //green
    rgb[wcnt+2] = round(1.0 * _y[y][x] + 1.772 * _cb[y][x] + 0.0 * _cr[y][x]);  //blue

    wcnt = wcnt …
Run Code Online (Sandbox Code Playgroud)

c libpng

5
推荐指数
0
解决办法
403
查看次数

有没有一种方法可以优化性病算法?

搜索有关std算法性能的任何信息,我发现关于std::max_element()与自写函数之间的性能差异的堆栈溢出问题。我已经用GCC 9.2.0测试了问题中的功能,没有发现性能差异,即my_max_element_orig()my_max_element_changed()(从接受的答案中)显示出相同的性能。因此,这似乎只是GCC 4.8.2中的优化程序问题。对于GCC 9.2.0,我真正发现的是在使用指针和迭代器的情况下的显着差异-与原始指针相比,使用迭代器的情况要差2倍。如果使用,则迭代器和原始指针也有类似的区别std::max_element()

让我们接受my_max_element_orig函数实现(见下文)并尝试运行测试。

template<typename _ForwardIterator>
_ForwardIterator my_max_element_orig(_ForwardIterator __first, _ForwardIterator __last)
{
  if (__first == __last) return __first;
  _ForwardIterator __result = __first;
  while (++__first != __last)
    if (*__result < *__first)
      __result = __first;
  return __result;
}
Run Code Online (Sandbox Code Playgroud)

以下用法示例

int maxValue = *my_max_element_orig(begin(vec), end(vec));
Run Code Online (Sandbox Code Playgroud)

比以下情况差(原始指针)

int maxValue = *my_max_element_orig(vec.data(), vec.data() + vec.size());
Run Code Online (Sandbox Code Playgroud)

可能有人说,原因是迭代器类的实现带来了一些开销。但是我发现原因是以下行的存在:

if (__first == __last) return __first;
Run Code Online (Sandbox Code Playgroud)

如果从函数中删除了上面的行,则迭代器显示的性能与原始指针相同。经过一些实验,我决定干预优化器的分支预测,并用以下内容替换该行:

#define unlikely(x)     __builtin_expect((x),0)
...
if (unlikely(__first == …
Run Code Online (Sandbox Code Playgroud)

c++ linux optimization gcc std

5
推荐指数
0
解决办法
107
查看次数

为什么非多态 typeid 需要 RTTI?

我有以下一段代码:

template<typename T>
class genericHandler{public: using evt_t = T;};

template<typename T>
class specialHandler : public genericHandler<T> {  /* more stuff */ };

int main(int argc, char *argv[]) {
    
    std::any any_var = specialHandler<int>{};
    
    auto f = [&any_var](auto evtHandler) {
        using EventType = typename std::remove_reference<decltype(evtHandler)>::type ::evt_t;
        if(any_var.type() == typeid(EventType)) { std::cout << "yes" << std::endl; } else { std::cout << "no" << std::endl; }
    };

    auto h = specialHandler<int>{ };
    f(h);
}
Run Code Online (Sandbox Code Playgroud)

在 Coliru 上试试

调用时,evtHandler是非多态派生类型specialHandler。根据cppreference,我们有: …

c++ gcc rtti c++17

5
推荐指数
1
解决办法
164
查看次数