小编Geo*_*kas的帖子

Ruby Mechanize获取具有指定文本的元素

我试图使用机械化解析网站的内容,我陷入了困境.我要解析的内容位于li标记内,并不总是以相同的顺序排列.

让我们假设我们有以下li标签的顺序并不总是相同的,有些甚至根本不存在.

<div class="details">
  <ul>
    <li><span>title 1</span> ": here are the details"</li>
    <li><span>title 2</span> ": here are the details"</li>
    <li><span>title 3</span> ": here are the details"</li>
    <li><span>title 4</span> ": here are the details"</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要的只是获取文本li所在的细节.我所做的是以下内容,它给出了第一个细节:spantitle 3li

puts page.at('.details').at('span', :text => "title 3").at("+ *").text
Run Code Online (Sandbox Code Playgroud)

有没有办法用机械化做我想要的东西,还是我还应该用其他方法?

css ruby mechanize

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

OpenCL struct参数无效的地址空间

我是OpenCL的初学者,我正在尝试让以下内核工作.当我运行程序时,我在内核程序的构建过程中出错.更具体的错误如下:

Error: Failed to build program executable!
<program source>:19:64: error: invalid address space for argument to __kernel function
__kernel void accelarate_flow(__global const          t_param  params,
                                                               ^
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到内核.在开始我虽然这是因为我没有在内核中定义的结构,但即使我添加它们,问题仍然存在.我在这做错了什么?

const char *accelerate_flow_kernel_source =  
#pragma OPENCL EXTENSION cl_khr_fp64 : enable                                 
typedef struct                                                                
{                                                                             
  int    nx;                                                                  
  int    ny;                                                                  
  int    maxIters;                                                            
  int    reynolds_dim;                                                        
  double density;                                                             
  double accel;                                                               
  double omega;                                                               
} t_param;                                                                    

typedef struct                                                                
{                                                                             
  double speeds[9];                                                           
} t_speed;                                                                    

__kernel void accelarate_flow(__global const          t_param  params,        
                              __global const          int*     obstacles,     
                              __global                t_speed* cells,         
                                       const unsigned int      count)         
{ …
Run Code Online (Sandbox Code Playgroud)

c struct opencl

7
推荐指数
1
解决办法
3454
查看次数

Micronaut 和 Java 邮件 API

我们正在尝试将部分单体应用迁移到微服务,我们决定使用 micronaut。我们现在正在提取一个电子邮件服务,该服务提供一些输入将呈现电子邮件并与 SMTP 服务器通信以发送它们。

为此,我们使用 Java Mail,当我们尝试创建 GraalVM docker 映像时,它似乎存在一些问题。有没有人设法做到这一点,或者根本不可能让它发挥作用?

一些附加信息:

Dockerfile:

FROM oracle/graalvm-ce:19.2.0 as graalvm
COPY . /home/app/email-service
WORKDIR /home/app/email-service
RUN gu install native-image
RUN native-image --no-server -cp build/libs/email-service-*.jar

FROM frolvlad/alpine-glibc
EXPOSE 8080
COPY --from=graalvm /home/app/email-service .
ENTRYPOINT ["./email-service"]
Run Code Online (Sandbox Code Playgroud)

本机-image.properties:

JDBC 驱动程序、redis、kafka 和 thymeleaf 还进行了其他一些“惰性”初始化。

Args = --initialize-at-run-time=io.micronaut.views.thymeleaf.ThymeleafFactory \
       --initialize-at-run-time=io.micronaut.views.thymeleaf.ThymeleafViewsRenderer \
       --initialize-at-run-time=io.micronaut.views.velocity.VelocityViewsRenderer \
       --initialize-at-run-time=io.micronaut.configuration.lettuce.session.$RedisHttpSessionConfigurationDefinition \
       --initialize-at-run-time=io.micronaut.configuration.kafka.embedded.KafkaEmbedded \
       --initialize-at-run-time=oracle.jdbc.driver.OracleDriver \
       --initialize-at-run-time=java.sql.DriverManager \
       --initialize-at-run-time=org.hibernate.jpa.HibernatePersistenceProvider \
       --initialize-at-run-time=com.sun.mail.util.MailLogger \
       -H:IncludeResources=logback.xml|application.yml \
       -H:Name=email-service \
       -H:Class=com.acme.MySuperDuperApplication
Run Code Online (Sandbox Code Playgroud)

Micronaut 版本: 1.2.0
Java 邮件版本: 1.6.2 ( com.sun.mail:javax.mail:1.6.2) …

java email docker graalvm micronaut

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

根据条件选择OpenMP pragma

我有一个我想要优化的代码,应该在一系列线程ammount中运行.在我所使用的for循环中使用不同的调度技术运行一些测试后,我得出的结论是,当我只有一个线程并以其他方式引导时,最适合的是执行动态调度.这在openMP中甚至可能吗?

更确切地说,我希望能够执行以下操作:

if(omp_get_max_threads()>1)
#pragma omp parallel for .... scheduling(guided)
else
#pragma omp parallel for .... scheduling(dynamic)
for(.....){
  ...
}
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮助我,我会很感激.另一种解决方案是将for循环写入两次并使用if条件.但我想避免这种情况,如果有可能的话.

c optimization scheduling openmp

4
推荐指数
1
解决办法
1014
查看次数

将指针表示为字符串,反之亦然

我正在尝试使用MPI编写一个程序,我有一个问题可以帮助我很多.在MPI中是否可以以任何方式向另一个进程发送指针?我想要的只是发送指针,而不是将内存从一个进程复制到另一个进程.

如果不适用,可以将指针表示为字符串,然后发送它,以便接收进程可以再次将其转换为指针并访问指向的内存?

提前致谢.

c pointers mpi

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

标签 统计

c ×3

css ×1

docker ×1

email ×1

graalvm ×1

java ×1

mechanize ×1

micronaut ×1

mpi ×1

opencl ×1

openmp ×1

optimization ×1

pointers ×1

ruby ×1

scheduling ×1

struct ×1