小编Kdg*_*Dev的帖子

为什么使用公共变量?

变量,方法和类可以获得各种安全级别.从我的C#经验来看,有:

公共
内部

保护的内部
私人

现在,我理解使用方法和类私有,或内部或受保护,但变量怎么样?即使我将变量设为私有,我也可以使用Property从不同的类中调用它.

我一直认为属性是最佳实践.因此,如果我可以使用它,我不需要通过实例直接调用变量.

有没有理由不将变量设为私有?

编辑:我看到有些人谈论属性,好像它们只不过是美化的公共变量

快速提醒:公共变量只返回它们的值.有了属性,您可以做更多.例如:

public int AmountOfBooks{
  get {
    //code to check certain conditions
    //maybe trigger an event while we're at it.
    //and a few conditionals.
    return this.amountOfBooks;
  }

  set {
    //a few conditionals
    //maybe trigger an event
    this.amountOfBooks = value;
    //and I can do even more... I think, never tried this.
  }
}
Run Code Online (Sandbox Code Playgroud)

那些读过我个人资料的人都知道我是学生.使用属性作为"荣耀的公共变量"是我看到许多同学所做的事情.告诉他们可以做到这一点时最常见的回答是:"这是允许的吗?"

c# variables access-modifiers

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

使用Regex检查管道符号

|正如我所知,管道符号在正则表达式中用作一种"任一"语句.无论是这个,还是那个,或那个等......

但是,我希望检查带有正则表达式的字符串,以确定是否存在此符号.我试过逃避它,但这似乎不起作用.

我该怎么做,特别是如果我已经检查了多个符号,比如#,&,@等......

php regex

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

使用XPathResult

我在mozilla开发者网站上找到关于XPathResult的小文档.列出的所有功能都重定向到主页面,因此它们可能尚未记录.

var myFind;
myFind = document.evaluate(
    '/html/body/table[1]',
    document,
    null,
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
    null);
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来警告给定路径下的HTML树.

使用alert(myFind);不起作用,它只给出"XPathResult".它下面只有一个tbody和一堆tr元素,我希望看到它们都在一个警报中作为1个字符串.

myFind可以使用什么功能来做到这一点?

xpath

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

在PHP上传图像时剥离元数据

我知道的某个网站最近将他们的带宽从每月2,5 TB升级到3,5 TB.

原因是他们最近超过了2.5的限制.他们抱怨他们不知道如何降低带宽使用率.

我没有看到他们考虑的一件事是,JPEG和网站上显示的其他图像(它是一个图像密集的网站)可以包含元数据.照片拍摄的地方等等.

事实是,这些信息在该网站上并不重要.它永远不会被使用.然而它仍然增加了带宽,因为它将每个图像的文件大小从几个字节增加到几千字节.

在一个每月耗费超过2.5 TB的网站上,剥离数千个元数据图像将有助于减少每月至少几千兆字节的带宽使用量,如果不是更多的话.

那么在PHP中有没有办法做到这一点?而且,对于所有现有文件,是否有人知道一个好的自动元数据删除器?我知道JPEG和PNG剥离器,但这不是很好......虽然可以用于初始清洁......

php metadata file-upload vbulletin

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

MySQL错误150,无法创建表

我在制作桌子时遇到了麻烦,我不明白什么是错的.phpMyAdmin设置PRIMARY KEY声明旁边的错误指示符...我不知道为什么这是错误的...

此表是子表,与另一个表具有一对多的标识关系.

CREATE TABLE IF NOT EXISTS `ruilen`.`Voorwerpen` (
`voorwerpen_id` INT NOT NULL AUTO_INCREMENT ,
`naam` VARCHAR( 45 ) NOT NULL ,
`beschrijving` VARCHAR( 45 ) NULL ,
`Gebruikers_gebruiker_id` INT NOT NULL ,
PRIMARY KEY ( `voorwerpen_id` , `Gebruikers_gebruiker_id` ) ,
CONSTRAINT `fk_Voorwerpen_Gebruikers1` FOREIGN KEY ( `Gebruikers_gebruiker_id` ) REFERENCES `ruilen`.`Gebruikers` (
`gebruiker_id`
) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE = InnoDB;

MySQL said: Documentation
#1005 - Can't create table 'ruilen.voorwerpen' (errno: 150) 
Run Code Online (Sandbox Code Playgroud)

编辑:这是我能找到的错误代码的所有文档:链接

EDIT2:pic已删除 …

mysql mysql-error-1005

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

不要马上看到这背后的重点(php,school)

我是第二年的ICT学生.我从来没有在今年之前做过PHP,我们的讲师给了我们基础知识,在学期结束时,给了我们一个项目,将我们在课程中学到的东西和数据库课程结合起来.我们在Windows上使用经典的AMP设置.

现在,我们的教练告诉我们根据我们在课堂上制作小型网站的方式制作个人资料网站.

我没有看到将用户输入数据库的有点奇怪的方法背后的重点.

首先,我们进行一些PHP表格检查,以确保输入的数据是安全的并且有些现实(例如,这里的邮政编码是4个数字,从不更多,没有字母或其他符号).

如果一切正常,我们会执行以下操作:

$sql = new SqlObject(); //from SqlObject.class.php
$newUser = new User(login,passw,mail,...,...,...); //from User.class.php
$sql->addUser($newUser);
Run Code Online (Sandbox Code Playgroud)

SqlObject类是一个包含我们需要更新,插入并通常更改数据库中数据的所有SQL命令的类.我们从不在普通页面中编写SQL .但那并不是我困惑的事情.这是User.class.php文件.

此文件仅包含构造函数和与需要输入数据库的字段数量完全相同的字段.例如:

<?php

  class User {
    // members
    var $id;
    var $name;
    var $password;

    // constructor
    function User($id=-1,$name='',$password='') {
        $this->id = $id;
        $this->name = $name;
        $this->password = $password;
    }
}

?>
Run Code Online (Sandbox Code Playgroud)

而已.SqlObject.class.php文件需要第一行的User.class.php文件.

addUser($user)SqlObject.class.php文件中的函数如下所示:

function addUser($user) {
  $insQuery = 'INSERT INTO users(name,password)';
  $insQuery.= " VALUES ('".$user->name."', '".$user->password."')";
  @mysql_query($insQuery) or showError("user insert failed");
}
Run Code Online (Sandbox Code Playgroud)

为什么要通过User.class.php文件绕道而行呢?某种安全理由?

我再说一遍:这是我使用PHP的第一年,我还是学生.

编辑:人们抱怨在插入数据之前没有检查SQL注入.

在这篇文章的开头,我提到了"formchecking".该register.php文件执行所有转义和检查输入.这包括几个Regex测试,mysql_real_escape_string()和一些更简单的测试.一旦所有测试都通过并且所有输入都被转义,那么只有这样才会发生: …

php mysql

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

什么是"声明性安全"?一般来说

这个问题的答案:声明性安全 - 这是什么? 真的没有告诉我多少......并没有告诉我任何事情要直截了当.

我遇到了一个关于.NET性能的博客,它提到了这个:

你使用声明性安全吗?

在可能的情况下,建议您使用声明性安全性而不是强制性安全性检查.当前的需求实现通过当前正在构建的安全工具来提供更好的性能和支持,以帮助进行安全审计.

请注意,如果您的安全检查在方法中是有条件的,那么命令性安全性是您唯一的选择.

链接:http://weblogs.asp.net/sanjeevagarwal/archive/2009/09/09/net-code-performance-tips-part-1.aspx

"声明性安全"代表什么?有人能给出一个具体的例子吗?

security

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

go-pear.bat文件根本不会安装PEAR

我刚刚在Windows 7上安装了新的WAMP,我正试图让PEAR工作.事情从一开始就出错了.当我尝试执行go-pear.bat文件时,它会显示给我.

phar"C:\ wamp\bin\php\php5.3.1\PEAR\go-pear.phar"没有签名警告:require_once(phar://go-pear.phar/index.php):无法打开stream:pha r error:C:\ wamp\bin\php\php5.3.1\PEAR\go-pear.phar上的无效url或不存在的phar"phar://go-pear.phar/index.php"第1236行按任意键继续...

如何帮助文件没有签名?

php pear

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

在C#中对多维[,]数组进行排序,由整数组成

我有以下数组:

private int[,] testSamples = new testSamples[101,101];
Run Code Online (Sandbox Code Playgroud)

它应该代表一个名单,列0到100和0到100行.在这个名单中,各种化学液体都会被丢弃.我这样做的人想以这样一种方式工作,即他可以先用最多的液体来处理容器.

所以,我需要以这种方式获取数据并打印出来:

testSamples[35,40] = 12
testSamples[11,12] = 11
testSamples[92,14] = 10
testSamples[18,3] = 10
testSamples[1,61] = 7
...
Run Code Online (Sandbox Code Playgroud)

例如.我已经开始讨论这个问题几天了,我在StackoverFlow上讨论了其他一些问题,但是我无法让它们工作.

有没有办法做到这一点,或者我应该放弃数组并转到另一种容器,如ArrayLists或List项?

c# arrays sorting

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

在C#中将图形转换为图像

我在Windows窗体上有一个pictureBox.

我执行以下操作将PNG文件加载到其中.

Bitmap bm = (Bitmap)Image.FromFile("Image.PNG", true);
Bitmap tmp;

public Form1() {
    InitializeComponent();
    this.tmp = new Bitmap(bm.Width, bm.Height);
}

private void pictureBox1_Paint(object sender, PaintEventArgs e) {
    e.Graphics.DrawImage(this.bm, new Rectangle(0, 0, tmp.Width, tmp.Height), 0, 0, tmp.Width, tmp.Height, GraphicsUnit.Pixel);
}
Run Code Online (Sandbox Code Playgroud)

但是,我需要在图像上绘制内容然后再次显示结果.绘图矩形只能通过Graphics类完成.

我需要在图像上绘制所需的矩形,再次将其作为Image类的实例并将其保存到 this.bm

我可以添加一个执行按钮this.pictureBox1.Refresh();,强制再次绘制pictureBox,但我无法将Graphics转换为Image.因此,我无法将编辑保存this.bm到位图.

这是我的问题,我看不出来.

c# graphics image

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