问题列表 - 第7267页

我应该在C中使用char**argv还是char*argv []?

我只是在学习C,并且想知道我应该在我的主要方法中使用哪一个.有什么区别吗?

编辑:那么哪一个更常用?

c arrays standards pointers

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

对于使用OpenSSL的MediaWiki/Apache/PHP/MySQL的数据库连接需要SSL

对于学校项目,我在本地计算机上安装了MediaWiki,并且要求与本地MySQL数据库建立任何数据库连接使用SSL.我不确定如何连接所有的点.这是我到目前为止所做的:

  1. 我已经安装了OpenSSL,并创建了自签名证书和相关密钥.
  2. phpinfo()显示OpenSSL已启用.
  3. 我把它包含在my.ini的[mysqld]部分中:

ssl-key ="C:/newcerts/server-key.pem"ssl-cert ="C:/newcerts/server-cert.pem"ssl-ca ="C:/newcerts/ca-cert.pem"

  1. 运行MySQL命令行会提示我输入root密码,输入后会出现错误1045:访问被拒绝等.

  2. 从bin目录运行mysql -u root -p ssl-ca ="C:/newcerts/ca-cert.pem"并输入密码成功,并给我一个mysql提示符.运行状态显示SSL:正在使用的密码是DHE-RSA-AES256-SHA.

这是我困惑的地方.还需要做什么(比如通过Apache或PHP配置文件或MediaWiki文件)来要求数据库连接使用SSL?

php mysql mediawiki openssl mysql-error-1045

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

如何在服务器群中实现锁定?

是否有众所周知的跨服务器场同步任务的最佳实践?例如,如果我有一个在服务器场上运行的基于论坛的网站,并且有两个主持人尝试执行某些操作,需要写入数据库中的多个表,并且这些主持人的请求由服务器中的不同服务器处理农场,如何实现一些锁定功能以确保他们无法同时对同一项目执行该操作?

到目前为止,我正在考虑使用数据库中的表进行同步,例如检查表中项目的ID,如果不存在则插入并继续,否则返回。也可能可以使用共享缓存,但我目前没有使用它。

还有其他办法吗?

顺便说一下,我使用 MySQL 作为我的数据库后端。

mysql asp.net scalability locking

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

ID,ID还是Id?

camelCase在我的代码和数据库字段名称等中使用,但是对于最后的字段Id,它总是难以阅读.例如itemId,teacherId,unitId等.在这些情况下,我思考如何打破惯例和写作itemID, teacherID, or unitID只是为了提高可读性.

你做了什么,处理这个问题的一般,最佳做法是什么?

variables naming-conventions

29
推荐指数
7
解决办法
9763
查看次数

如何在Magento中允许重复的SKU

我有一个零售第三方电池的客户,有些电池可以替代几种OEM型号.

例如,第三方SKU 12345可能会取代东芝N23和HP 53214,因此我的客户希望在前端创建两个具有相同SKU的产品(它们基本上是相同的产品).但是,默认情况下,Magento不允许重复的SKU.

我目前的解决方案是从后端设置SKU不需要,并添加另一个名为Model的属性,允许重复值,并在前端显示Model.

有一个更好的方法吗?或者是否可以允许重复的SKU?

天博
贵族科技有限公司

magento e-commerce

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

是否有必要为javascript字符串"转义"字符"<"和">"?

有时,服务器端将生成要嵌入内联JavaScript代码的字符串.例如,如果"UserName"应由ASP.NET生成.然后看起来像.

<script>
   var username = "<%UserName%>";
</script>
Run Code Online (Sandbox Code Playgroud)

这不安全,因为用户可以拥有他/她的名字

</script><script>alert('bug')</script></script>

这是XSS漏洞.

所以,基本上,代码应该是:

<script>
   var username = "<% JavascriptEncode(UserName)%>";
</script>
Run Code Online (Sandbox Code Playgroud)

什么JavascriptEncode确实是增加系统字符"\"前"/"和"""和""."所以,输出HTML是什么样子.VAR用户名="</ SCRIPT>警报(\ '错误\')</ SCRIPT > </ SCRIPT>";

浏览器不会将" </ script> " 解释为脚本块的结尾.所以,XSS避免了.

但是,那里仍然有"<"和">".建议也要逃避这两个字符.首先,我认为将"<"改为"<"并不是一个好主意.和">"到">" 这里.并且,我不确定将"<"更改为"\ <"并且">"更改为"\>"可以被所有浏览器识别.似乎没有必要对"<"和">"进行进一步编码.

对此有什么建议吗?

谢谢.

html javascript xss encode

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

遗留gcc编译器问题

我们正在使用基于gcc 2.6.0的遗留编译器来交叉编译我们仍在使用的旧嵌入式处理器(是的,它自1994年以来一直在使用!).为这款芯片做gcc端口的工程师早就开始了.虽然我们可以从网络上的某个地方恢复gcc 2.6.0源代码,但这个芯片的更改集已经在公司历史的大厅中消失了.直到最近,由于编译器仍然运行并生成可行的可执行文件,我们一直糊涂,但是从Linux内核2.6.25(以及2.6.26)开始,它失败并显示消息gcc: virtual memory exhausted......即使在没有参数的情况下运行或仅运行-v.我已经使用2.6.24内核重新启动了我的开发系统(从2.6.26开始)并且编译器再次工作(使用2.6.25重启不会).

我们有一个系统,我们保留在2.6.24只是为了为这个芯片做构建,但是感觉有点暴露,以防linux世界转移到我们不能再重建一个将运行的系统的程度编译器(即我们的2.6.24系统死机,我们无法在新系统上安装和运行2.6.24,因为某些软件部分不再可用).

有没有人有任何想法,我们可以做一些更现代的安装,以使这个遗留的编译器运行?

编辑:

回答一些评论......

遗憾的是,这是我们芯片特有的源代码更改丢失了.这种损失发生在两个主要的公司重组和几个系统管理员(其中一些确实留下了一团糟).我们现在使用配置控制,但这对于这个问题来说太晚关闭了谷仓门.

使用VM是一个好主意,也可能是我们最终要做的.谢谢你的想法.

最后,我尝试了strace作为ephemient建议,发现最后一次系统调用是brk(),它在新系统(2.6.26内核)上返回错误并在旧系统(2.6.24内核)上返回成功.这表明我真的用完了虚拟内存,除了tcsh"limit"在旧系统和新系统上返回相同的值,而/ proc/meminfo显示新系统有更多的内存和更多的交换空间.也许这是一个碎片问题或程序加载的地方?

我做了一些进一步的研究,并在内核2.6.25中添加了"brk randomization",但是CONFIG_COMPAT_BRK默认情况下会启用(禁用brk随机化).

编辑:

好的,更多信息:它看起来真的像brk随机化是罪魁祸首,传统的gcc正在调用brk()来改变数据段的结束并且现在失败,导致传统的gcc报告"虚拟内存耗尽".有一些记录的方法可以禁用brk随机化:

  • sudo echo 0 > /proc/sys/kernel/randomize_va_space

  • sudo sysctl -w kernel.randomize_va_space=0

  • setarch i386 -R tcsh(或"-R -L")开始一个新的shell

我已经尝试了它们,它们确实有效,因为brk()返回值与没有它们(并且在内核2.6.25和2.6.26上都试过)不同(并且总是相同),但是brk()仍然失败,所以传统的gcc仍然失败:-(.

此外,我已经设置vm.legacy_va_layout=1vm.overcommit_memory=2没有改变,我已经与重新启动vm.legacy_va_layout=1,并kernel.randomize_va_space=0保存在/etc/sysctl.conf中的设置.仍然没有变化.

编辑:

使用kernel.randomize_va_space=0内核2.6.26(2.6.25和)在以下brk的结果()通过所报告的呼叫strace legacy-gcc:

brk(0x80556d4) = 0x8056000

这表明brk()失败了,但看起来它失败了,因为数据段已经超出了请求的范围.使用objdump,我可以看到数据段应该以0x805518c结束,而失败的brk()表示数据段当前以0x8056000结束:

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .interp       00000013  080480d4  080480d4  000000d4  2**0 …

linux legacy gcc cross-compiling virtual-memory

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

使用C#和XDocument/XElement来解析Soap响应

以下是来自SuperDuperService的示例soap响应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <MyResponse xmlns="http://mycrazyservice.com/SuperDuperService">
            <Result>32347</Result> 
        </MyResponse>
    </soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

出于某种原因,当我试图抓住"结果"的后代或元素时,我得到了空.它与命名空间有关吗?有人可以提供从中检索结果的解决方案吗?

c# xml parsing soap

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

C#在全行业的普及程度还是非常典型的?

我觉得我是一个全面的程序员,我对C#和java(两个大型项目都很满意)感到很自在,但是当我有选择时,我倾向于在大多数应用程序中使用C++.(有时候R,Python或Perl也适用..)

但是我很震惊地看到C#在这里的受欢迎程度.有18500个C#主题,超过C,C++和java的组合.我从来没有觉得 C#对我曾经合作过的公司产生过这样的影响,但C#的普及程度是不可否认的.

我的问题: 为什么C#在Stack Overflow上如此受欢迎?与C++和java相比, 我的问题并不是理解C#目前的接受度/增长率.

流行的可能解释:

  • C#真正受到业界的欢迎和接受,无处不在!
  • SO不典型,似乎吸引了不成比例的C#用户
  • C#有更多的问题/困惑,往往需要社区帮助才能解决
  • 微软(可能在其论坛上?)鼓励人们使用SO来提问

第一种解释可能是原因,但我还没有感受到现实世界的普及!

你在这里讨论C#主题的原因是什么?

c# c++ coding-style

12
推荐指数
3
解决办法
3507
查看次数

通过php数组将多行插入mysql

我正在使用插入命令通过PHP将大型数据集传递到MySQL表中,我想知道是否可以通过查询一次插入大约1000行,而不是将每个值附加到一英里长字符串的末尾然后执行它.我正在使用CodeIgniter框架,因此我也可以使用它的功能.

php mysql bulkinsert codeigniter insert

126
推荐指数
6
解决办法
22万
查看次数