小编nit*_*ton的帖子

Ruby块和不带括号的参数

我提取了简单的例子:

require 'pp'
x = 1..3
pp x.map do |i| {:value => i, :double => (i*2)} end
pp x.map { |i| {:value => i, :double => (i*2)} }

pp(x.map do |i| {:value => i, :double => (i*2)} end)
pp(x.map { |i| {:value => i, :double => (i*2)} })
Run Code Online (Sandbox Code Playgroud)

我想知道为什么第一个pp产生:

[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

所有的演讲者都在给予:

[{:value=>1, :double=>2}, {:value=>2, :double=>4}, {:value=>3, :double=>6}]
Run Code Online (Sandbox Code Playgroud)

我认为它与运算符优先级有关.我在哪里可以找到好的解释?

ruby parentheses

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

如何设置目录以具有持久组权限?

我们有两个用户:

  • USER1
  • 用户2

他们都属于'admin'组.

我们有一个目录已设置为775.目录的组已更改为"admin".每个用户都具有写入该目录的完全访问权限,但是当用户将新文件写入目录时,该文件夹的组权限不会持久保存到写入的文件中.

我们应该如何使文件继承目录的组权限?

澄清:当写入新文件或目录时,它使用用户组作为新文件的组,而不是目录的组,这是有道理的 - 但我怎么能不这样做呢?

unix directory permissions bash

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

如何让用户注意问题?

我们偶尔需要通知用户有关警告或问题的信息.但通常情况下,特别是如果这是一个常见问题,用户只会忽略警告并继续.通常用户甚至不会记得看到警告,但我们检查他们的日志并看到有几个显示.那么,当你试图告诉他们重要的事情时,你如何让用户注意?

这并不像在允许用户保存之前强制用户解决所有问题一样简单.由于各种原因(通常是针对无法立即解决或根本无法解决的问题),他们经常需要保存我们的业务规则并不严格的数据.

我们有一个更好的警告/错误处理系统,我认为会有很多帮助,但我想看看别人做了什么.

usability notifications warnings

9
推荐指数
4
解决办法
520
查看次数

django auth用户截断电子邮件字段

我的django.contrib.auth用户模型存在问题,其中电子邮件max_length为75.

我从facebook api收到超过75个字符的电子邮件地址,我需要(非常愿意)将它们存储在用户中,以确保来自facebook connect和其他用户的用户之间的连续性.

我能够Data truncated for column 'email' at row 1通过手动编辑mySql数据库中的字段来解决" " 的问题,但有没有更好的方法来解决这个问题?最好是每次重置模式更改时都不涉及我手动编辑数据库的那个?

我可以编辑数据库,只要我可以将它添加到重置脚本或initial_data.json文件中.

python mysql authentication django

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

存储在数据库中的多个权限类型(角色)为单个小数

我在这里问一个关于我的某些用户/角色数据库表的设计是否可以接受的问题,但经过一些研究后我遇到了这个问题:

处理多种权限类型的最佳方法是什么?

这听起来像是一种创新方法,因此我将多个权限定义为单个十进制(我假定为int数据类型),而不是多对多关系user_to_roles表.这意味着单个用户的所有权限都在一行中.在你阅读其他问题和答案之前,它可能没有意义

我无法理解这一点.有人可以解释转换过程吗?这听起来是"正确的",但我只是没有得到如何将角色转换为十进制数据之前将其转换为十进制数,以及它在数据库出来时如何转换回来.我正在使用Java,但如果你把它删掉,那也很酷.

以下是其他问题被删除的原始答案:

"就我个人而言,我有时使用标记的权限枚举.这样你就可以对枚举的项目使用AND,OR,NOT和XOR按位运算.

[Flags]
public enum Permission
{
    VIEWUSERS = 1, // 2^0 // 0000 0001
    EDITUSERS = 2, // 2^1 // 0000 0010
    VIEWPRODUCTS = 4, // 2^2 // 0000 0100
    EDITPRODUCTS = 8, // 2^3 // 0000 1000
    VIEWCLIENTS = 16, // 2^4 // 0001 0000
    EDITCLIENTS = 32, // 2^5 // 0010 0000
    DELETECLIENTS = 64, // 2^6 // 0100 0000
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用AND按位运算符组合多个权限.

例如,如果用户可以查看和编辑用户,则操作的二进制结果为0000 0011,转换为十进制为3.然后,您可以将一个用户的权限存储到DataBase的单个列中(在我们的示例中,它将是3).

在您的应用程序中,您只需要另一个按位操作(OR)来验证用户是否具有特定权限."

database permissions roles

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

如何在不暴露自己的情况下找出宏的作用?

我收到了两个不同的Microsoft Word文档,我的病毒扫描程序警告我包含宏.这些应该是简单的文本文件,发送它们的人甚至不知道宏是什么; 他们可能是个错误,但他们可能是恶意感染的迹象.我的OpenOffice.org安装设置根本不加载宏,因为我很少使用它,所以我不关心我的系统的安全性.我希望能够做的是找出那些宏所做的事情,而不会让我的系统暴露于这些宏的任何恶意意图,以便告诉向我发送文件的人是否传播感染.

security virus ms-word word-vba

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

为我的网站上的每个用户分配一个MySQL数据库是不合理的吗?

我正在创建一个基于用户的网站.对于每个用户,我需要一些MySQL表来存储不同类型的信息(即userInfo,quotesSubmitted和ratesSubmitted).以下是一个更好的主意:

a)为站点创建一个数据库(即"mySite"),然后在其中创建数百或数千个表(即"userInfo_bob","quotessubmitted_bob","userInfo_shelly"和"quotesSubmitted_shelly")

要么

b)创建数百或数千个数据库(即"Bob","Shelly"等),每个数据库只有几个表(即"Bob"内部:userInfo,quotesSubmitted,ratesSubmitted等)

我应该使用一个数据库,该数据库中的许多表,还是每个数据库的许多数据库和几个表?


编辑:

问题是我需要跟踪谁评价了什么.这意味着如果用户已经评价了300个报价,我需要能够确切地知道用户评价了哪些报价.

也许我应该这样做?

一张报价表.一个表列出用户.一个表记录已经进行的所有评级(即三列:用户,报价,评级).这看似合理.这有什么问题吗?

mysql database

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

SharePoint - 获取当前用户的列表

获取分配给SharePoint门户的用户列表的最佳方法是什么?

sharepoint

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

在Perl中,我如何等待线程并行结束?

我有一个Perl脚本,可以启动2个线程,每个处理器一个.我需要它等待一个线程结束,如果一个线程结束,则生成一个新线程.似乎join方法阻塞了程序的其余部分,因此第二个线程不能结束,直到第一个线程完成的所有操作都失败了.

我试过这个is_joinable方法,但似乎也没办法.

这是我的一些代码:

use threads;
use threads::shared;

@file_list = @ARGV;      #Our file list
$nofiles = $#file_list + 1; #Real number of files 
$currfile = 1;     #Current number of file to process

my %MSG : shared;              #shared hash

$thr0 = threads->new(\&process, shift(@file_list));
$currfile++;
$thr1 = threads->new(\&process, shift(@file_list));
$currfile++;

while(1){
 if ($thr0->is_joinable()) {
  $thr0->join;
        #check if there are files left to process
  if($currfile <= $nofiles){ 
   $thr0 = threads->new(\&process, shift(@file_list));
   $currfile++;
  }
 }

 if ($thr1->is_joinable()) {
  $thr1->join;
        #check if there are …
Run Code Online (Sandbox Code Playgroud)

perl multithreading locking join

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

C++逻辑和运算符

C++中是否有逻辑&运算符?例如,一个与&&一样工作的运算符,除了它还评估后面的参数,即使前面的参数已经评估为false?运算符&是我理解的按位和运算符.

c++

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