问题列表 - 第233385页

检查共享内存是否存在以及是否可以访问它

我有另一个program1,我创建一个共享内存,我有一个program2,我想检查共享内存是否已创建,如果没有,然后打印错误,什么也不做,如果它已经创建然后访问它.如果之前已经创建了共享内存,那么它可以正常工作,我可以访问它,但我遇到的问题是,如果没有创建共享内存,那么代替什么都不做并打印错误,program2创建共享内存,我没有我不希望这种情况发生.任何帮助将不胜感激,请询问任何可能有用的信息,谢谢!

void main(){

int sm_id;
sm_id = shmget(9000, MAX_USERS * sizeof(User), IPC_CREAT | IPC_EXCL | 0666);
if(sm_id>0){
    perror("Shared memory has not been created yet");
    exit(1);
}else{
    sm_id = shmget(9000, MAX_USERS * sizeof(User), IPC_CREAT | 0666);
    list = (User *)shmat(sm_id,0,0);
    exit_on_null(list, "Exit on null(error attach)");
}

}
Run Code Online (Sandbox Code Playgroud)

c shared-memory

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

Inno Setup - 带有 VCL 样式的语言选择器

有没有办法在 VCL 样式中使用语言选择器(Inno Setup)?如何?

inno-setup pascalscript vcl-styles.-utils

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

如何使用react-redux连接

我对connect()有一点问题.我认为包装Provider中的所有组件都会起作用,但事实证明它不是......所以我发现我需要使用react-redux中的connect().问题是我不知道应该如何使用它.这个网站显示了一些例子但是,我没有任何动作创建者进入连接因为我不使用它们.......有人可以给我一些建议吗?我只是想在组件内访问我的商店......

reactjs redux react-redux

4
推荐指数
2
解决办法
4449
查看次数

如果退出阵列,请从另一侧输入

我怎么能这样做,例如,如果我有1个,2个,3个,4个,5个,6个,7个阵列,并且我处于第4个位置(5号),如果你必须将它移动到正确的4个位置,你应该在位置1(编号2).负数也是如此,但你向左移动.我想有需要while(true)循环?

c# c++ math

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

如何将Spark Dataframe列转换为字符串数组的单个列

我想知道如何将多个数据帧列"合并"为一个字符串数组?

例如,我有这个数据帧:

val df = sqlContext.createDataFrame(Seq((1, "Jack", "125", "Text"), (2,"Mary", "152", "Text2"))).toDF("Id", "Name", "Number", "Comment")
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

scala> df.show
+---+----+------+-------+
| Id|Name|Number|Comment|
+---+----+------+-------+
|  1|Jack|   125|   Text|
|  2|Mary|   152|  Text2|
+---+----+------+-------+

scala> df.printSchema
root
 |-- Id: integer (nullable = false)
 |-- Name: string (nullable = true)
 |-- Number: string (nullable = true)
 |-- Comment: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)

我怎样才能改变它,看起来像这样:

scala> df.show
+---+-----------------+
| Id|             List|
+---+-----------------+
|  1|  [Jack,125,Text]|
|  2| [Mary,152,Text2]|
+---+-----------------+

scala> df.printSchema
root
 |-- Id: integer (nullable …
Run Code Online (Sandbox Code Playgroud)

scala dataframe apache-spark apache-spark-sql

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

如何简化python中的数组

当我将元素附加到一个空列表时,它往往过于复杂。

我得到:

A = array([[1],[1],...,[1]])
Run Code Online (Sandbox Code Playgroud)

我想要:

A = array([1,1...,1])
Run Code Online (Sandbox Code Playgroud)

python numpy

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

Angular 2订阅组件或服务?

上下文

我有一个HospitalComponent试图显示医院列表的组件.它使用的readAll方法HospitalService(从firebase返回一个Observable):

ngOnInit() {
  this.hospitalService
    .readAll() // Make a firebase call
    .subscribe(hospitals => this.hospitals = hospitals);
}
Run Code Online (Sandbox Code Playgroud)

路由/hospital已插入此组件HospitalComponent.每次我到达时/hospital,Angular 2都会创建一个新的HospitalComponent,并且新的呼叫将被发送给hospitalService.

问题

每次到达时/hospital,医院名单都会延迟显示.

从服务构造函数本身检索医院列表是一种好习惯吗?这样,我可以从后台管理刷新列表,而不是有一些延迟.我会在组件中:

ngOnInit() {
  this.hospitals = this.hospitalService.readAll();
}
Run Code Online (Sandbox Code Playgroud)

并在服务中:

constructor(private hospitalService: HospitalService) {
  hospitalService.subscribe(hospitals => this.hospitals = hospitals);
}
Run Code Online (Sandbox Code Playgroud)

但这意味着要手动管理所有医院的变化.

observable rxjs firebase angularfire2 angular

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

我可以让Ecto记录原始SQL吗?

我正在构建一个像这样的Ecto查询:

from item in query,
where:  like(item.description, ^"%#{text}%")
Run Code Online (Sandbox Code Playgroud)

我担心这会允许SQL注入text.在尝试修复之前,我想看看查询是如何实际发送到数据库的.

如果我检查查询或查看记录的内容,我会看到一些SQL,但它无效.

例如,检查查询向我显示:

{"SELECT i0.\"id\", i0.\"store_id\", i0.\"title\", i0.\"description\" 
  FROM \"items\" AS i0 WHERE (i0.\"description\" LIKE $1)",
 ["%foo%"]}
Run Code Online (Sandbox Code Playgroud)

当我将此查询传递给Repo.all它时,它记录下来:

SELECT i0."id", i0."store_id", i0."title", i0."description"
  FROM "items" AS i0 WHERE (i0."description" LIKE $1) ["%foo%"]
Run Code Online (Sandbox Code Playgroud)

但是如果我复制并粘贴它psql,PostgreSQL会给我一个错误:

错误:42P02:没有参数$ 1

似乎Ecto实际上可能正在进行参数化查询,如下所示:

PREPARE bydesc(text) AS SELECT i0."id", 
  i0."store_id", i0."title", i0."description" 
  FROM "items" AS i0 WHERE (i0."description" LIKE $1);
EXECUTE bydesc('foo');
Run Code Online (Sandbox Code Playgroud)

如果是这样,我认为这会阻止SQL注入.但我只是猜测这就是Ecto的作用.

如何查看Ecto正在执行的实际SQL?

postgresql elixir ecto

2
推荐指数
2
解决办法
1149
查看次数

使用 Python + Selenium 通过 while 循环单击下一页

我正在尝试浏览名为 iens 的网站上的不同页面。我正在使用 selenium + python 单击“volgende”(在荷兰语中表示“下一个”),但我希望我的程序继续单击下一个,直到使用 while 循环没有更多页面为止。所以在这种情况下,我希望我的程序在第 23 页结束。现在我可以通过关闭 cookie 弹出消息进入第 2 页,等到它关闭然后单击“Volgende”按钮。

我的代码如下所示:

 from selenium.webdriver.support.ui import WebDriverWait
 from selenium import webdriver
 from selenium.webdriver.common.by import By
 from selenium.webdriver.support import expected_conditions as EC

 chrome_path = '/Users/user/Downloads/chromedriver'
 driver = webdriver.Chrome(chrome_path)
 driver.get('https://www.iens.nl/restaurant+utrecht')

 #wait for cookie message
 close_icon = WebDriverWait(driver, 5, 
 0.25).until(EC.visibility_of_element_located([By.CSS_SELECTOR, 
 '.cookiePolicy-close']))

 close_icon.click()

 #wait for cookie message to disappear
 WebDriverWait(driver, 5, 
 0.25).until(EC.invisibility_of_element_located([By.CSS_SELECTOR, 
 '.cookiePolicy-close']))

 click_icon = WebDriverWait(driver, 5, 
 0.25).until(EC.visibility_of_element_located([By.LINK_TEXT, 
 'Volgende']))
 click_icon.click()
Run Code Online (Sandbox Code Playgroud)

该网站名为https://www.iens.nl/restaurant+utrecht

提前致谢!

javascript python cookies selenium

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

Python - 用布尔值比较数字(总是返回false)

是否有某种关键字可以在Python中使用,可以在逻辑上进行比较,始终是假的?

例如,我想要类似的东西

None > 20
Run Code Online (Sandbox Code Playgroud)

在评估时返回false.除此之外是否还有一些关键字None可用,因为比较NoneType和Integer会引发错误?

python logic boolean compare

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