小编tad*_*man的帖子

Objective-C预处理器定义,动态C字符串到NSString声明

我正在尝试创建一个宏定义,可以根据上下文发出C++或Objective-C,但似乎无法轻松地在宏内部构建NSString.C++版本很简单,因为它使用常规字符串,但制作一个发出NSString的字符串证明是棘手的:

#define FOO(x) bar(@##x)
Run Code Online (Sandbox Code Playgroud)

预期的结果是通过前缀@:将字符串参数转换为NSString参数:

FOO("x")
// => bar(@"x")
Run Code Online (Sandbox Code Playgroud)

我得到的是一个阻止编译的错误:

Pasting formed '@"x"', an invalid preprocessing token
Run Code Online (Sandbox Code Playgroud)

c++ objective-c c-preprocessor

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

PHP mysqli准备语句不起作用

我正在使用mysqli prepare语句来查询具有多个约束的数据库.我在我的测试文件中运行了代码,它运行得很好.但是,当我将代码移动到我的实时文件时,它会抛出以下错误:

PHP警告:mysqli_stmt :: bind_result():绑定变量数与第80行C:\ wamp\www\firecom\firecom.php中预准备语句中的字段数不匹配

PHP注意:未定义的变量:在第89行产生C:\ wamp\www\firecom\firecom.php

两个参数都正确设置,但有些东西正在抛弃它.

码:

$query = $mysqli->prepare("SELECT * FROM calls WHERE wcccanumber = ? && county = ?");
$query->bind_param("ss", $wcccanumber, $county);
$query->execute();

$meta = $query->result_metadata();

while ($field = $meta->fetch_field()) {
    $parameters[] = &$row[$field->name];
}

call_user_func_array(array($query, 'bind_result'), $parameters);

while ($query->fetch()) {
    foreach($row as $key => $val) {
        $x[$key] = $val;
    }
    $results[] = $x;
}

print_r($results['0']);
Run Code Online (Sandbox Code Playgroud)

$ query var_dump:

object(mysqli_stmt)#27 (10) { ["affected_rows"]=> int(-1) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(2) ["field_count"]=> int(13) ["errno"]=> int(0) ["error"]=> …
Run Code Online (Sandbox Code Playgroud)

php sql mysqli prepared-statement

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

为所有用户提供重复的电子邮件地址

我正在编写MySQL查询,我可以从用户表中获取具有重复电子邮件地址的所有记录.

这是我到目前为止的查询..我的PHPMyAdmin继续加载:

select personal_email, userid
from user
where personal_email in (
select personal_email
from user
group by personal_email
having count(personal_email) > 1);
Run Code Online (Sandbox Code Playgroud)

如果我使用下面的查询,我只会收到所有双重电子邮件:

select personal_email, count(personal_email)
from user
group by personal_email
having count(personal_email) > 1
Run Code Online (Sandbox Code Playgroud)

目标是获取包含重复电子邮件的所有记录.

mysql sql

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

ruby续集gem-如何使用pg_array扩展名查询数组

我正在使用pg_array扩展和后续版本4.1.1。

我添加了这样的扩展名:

Sequel::Database.extension :pg_array
Run Code Online (Sandbox Code Playgroud)

我创建了这样的一列:

alter_table :emails do
  add_column :references, "text[]", null: true
end
Run Code Online (Sandbox Code Playgroud)

我可以将数组加载和检索到postgress数组列中,就像使用普通数组一样。

从上面的链接尚不清楚的是如何根据此数组列中的值执行查询。

例如,如果电子邮件表中的一行在引用列中包含以下值:

                             references                             
--------------------------------------------------------------------
 {}
 {5363f773bccf9_32123fe75c45e6f090953@Pauls-MacBook-Pro.local.mail}
Run Code Online (Sandbox Code Playgroud)

如何查询电子邮件表以查找包含上述值的引用数组值的行:

Email.where(references: ????)
Run Code Online (Sandbox Code Playgroud)

ruby postgresql sequel

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

Select2 each2方法 - 它是如何工作的?

我正在浏览Select2(源代码)并找到each2方法原型:

$.extend($.fn, {
  each2 : function (c) {
    var j = $([0]), i = -1, l = this.length;
    while (
      ++i < l
       && (j.context = j[0] = this[i])
       && c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
     );
     return this;
   }
});
Run Code Online (Sandbox Code Playgroud)

我的问题是 - 这种方法如何运作?我的意思是 - 为什么while循环只有条件,没有语句部分?我真的很想了解这种方法的流程.

javascript jquery jquery-select2

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

有人试图进入我的服务器?

我上周主持了我的Rails应用程序.今天我正在浏览我们的日志文件并注意到很多这样的请求.

I, [2016-03-14T00:42:18.501703 #21223]  INFO -- : Started GET "/testproxy.php" for 185.49.14.190 at 2016-03-14 00:42:18 -0400
F, [2016-03-14T00:42:18.510616 #21223] FATAL -- : 
ActionController::RoutingError (No route matches [GET] "/testproxy.php"):
Run Code Online (Sandbox Code Playgroud)

有人试图testproxy.php从不同的IP地址前往.有些ip来自波兰,有些来自香港.我被某人袭击了吗?我有什么保护自己的选择.

以下是日志文件中的其他输出:

I, [2016-03-14T03:09:24.945467 #15399]  INFO -- : Started GET "/clientaccesspolicy.xml" for 107.22.223.242 at 2016-03-14 03:09:24 -0400
F, [2016-03-14T03:09:24.949328 #15399] FATAL -- : 
ActionController::RoutingError (No route matches [GET] "/clientaccesspolicy.xml"):
Run Code Online (Sandbox Code Playgroud)

不同的IP地址:

I, [2016-03-14T16:03:47.793731 #15399]  INFO -- : Started GET "/testproxy.php" for 178.216.200.48 at 2016-03-14 16:03:47 -0400
F, [2016-03-14T16:03:47.818519 #15399] FATAL -- …
Run Code Online (Sandbox Code Playgroud)

security ruby-on-rails nginx server

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

友好 ID 自定义 Slug

我有一个 Post 模型

#post.rb   
extend FriendlyId
friendly_id :slug_candidates, use: [:slugged, :history]
Run Code Online (Sandbox Code Playgroud)

我正在尝试像这样自定义每个帖子的网址

#post.rb 
def slug_candidates
 "#tutorial-#{user.display_name}-#{title}"
end
Run Code Online (Sandbox Code Playgroud)

友好的 id 不断生成 UUID slug,而我希望它生成一个全面的 url

通常我得到 \tutorial-john-49c9938b-ece5-4175-a4a4-0bb2b0f26a27 而不是 \tutorial-john-some-comprehensive-title

谢谢

ruby ruby-on-rails friendly-id

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

在Visual Studio for Mac中找不到"编辑项目"命令

标题说明了一切,真的.我正在寻找相当于Visual Studio for Windows功能的功能,我可以在解决方案资源管理器中右键单击.NET Core/.NET Standard项目,然后*.csproj在IDE编辑器中编辑该文件.我无法在VS for Mac中找到此命令.我也试过卸载项目(右键单击项目>卸载菜单项),无济于事; 我也无法在那里编辑项目文件.因此,我无法在不使用其他应用程序的情况下编辑.NET Core/.NET Standard项目文件.最烦人的.(我正在使用Visual Studio Community版本7.3,构建708,如果它有帮助.)这里的任何人都可以指向正确的方向,或者确认VS for Mac中没有此功能吗?谢谢!

visual-studio visual-studio-mac

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

房间数据库全动态查询

我有对象硬币的房间数据库.

我想用参数进行动态查询.

当我使用参数作为值时,它的效果很好,如下所示:

@Query("select * from coin ORDER BY percent_change_24h asc limit :numberOfCoins")
fun getAllTop(numberOfCoins: Int): Flowable<List<CoinDB>>
Run Code Online (Sandbox Code Playgroud)

但是当我想为WHERE子句使用参数时,这不起作用.这是我的查询:

@Query("select * from coin ORDER BY :order asc limit :numberOfCoins")
fun getAllTop(order: String, numberOfCoins: Int): Flowable<List<CoinDB>>
Run Code Online (Sandbox Code Playgroud)

我称之为:

AppDatabase.getInstance(this).coinDao().getAllTop("percent_change_24h",5)
Run Code Online (Sandbox Code Playgroud)

使用隐式WHERE子句调用相同的查询工作正常(像这样:)

@Query("select * from coin ORDER BY percent_change_24h asc limit :numberOfCoins")
fun getAllTop(order: String, numberOfCoins: Int): Flowable<List<CoinDB>>
Run Code Online (Sandbox Code Playgroud)

mysql sqlite android kotlin android-room

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

如何将 Base64 图像附加到 Active Storage 对象?

我可以从光盘附加一个 png 图像,一切正常:

obj.attachment.attach(
  io: File.open('dog.png'),
  filename: "image_name",
  content_type: "image/png"
)
Run Code Online (Sandbox Code Playgroud)

String但是,当我保存 Base64 png 图像(通过以下方式编码为类似内容)时,它无法给出像太小的空方块这样的结果"data:image/png;base64,iVB**..REST OF DATA..**kSuQmCC"

obj.attachment.attach(
  io: StringIO.new(encoded_base_sixty_four_img),
  filename: "image_name",
  content_type: "image/png"
)
Run Code Online (Sandbox Code Playgroud)

我也尝试解码它但给出了相同的错误:

decoded_base_sixty_four_img = Base64.decode64(encoded_base_sixty_four_img)
obj.attachment.attach(
  io: StringIO.new(decoded_base_sixty_four_img),
  filename: "image_name",
  content_type: "image/png"
)
Run Code Online (Sandbox Code Playgroud)

还尝试将此解码值写入File但没有任何效果,给出空白图像结果:

file = file.write(decoded_base_sixty_four_img)
obj.attachment.attach(
  io: file,
  filename: "image_name",
  content_type: "image/png"
)
Run Code Online (Sandbox Code Playgroud)

那么还有其他想法吗?

ruby base64 ruby-on-rails rails-activestorage ruby-on-rails-5.2

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