小编Jac*_*cco的帖子

正确学习C:是或否?

我的主要语言是PHP,但我在其他语言中做了一些(不是很多)编程.

我在C中为Apache编写了2个模块.我在C中编写它们,因为这是性能确实重要的事情之一.(动态生成世界的投影地图并输出到.png).

这些模块起作用,这就是我可以保证代码的质量.不要误会我的意思,我尽力编写正确的代码,但我确信它还有很大的改进空间.

我正在考虑将当前模块更改为线程,但没有使用线程软件的经验,以及追逐错误等问题仍然需要我花费大量时间.

我的问题是:
我是否应该首先学会用C语言正确编程(获得C语言编程语言)或者您是否建议采用其他方法.

注意:
我目前没有计划使用其他用于Apache模块的C语言

c multithreading apache2 apache2-module

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

文件系统上的哪个位置Windows服务应该保留其数据?

我正在编写一个Windows服务,需要在重新启动/重新启动服务时保留一些数据.目前我正在将文件写入返回的目录中Application.UserAppDataPath,但这似乎没有给我一致的答案.我该如何确定写入数据的正确位置?

windows-services

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

这是OOP或类似OOP

长时间阅读和测试,但我想知道.这是正确的PHP OOP代码,或不

Class User {

  function Add($Name, $Password){
    $sql_str = "INSERT INTO User SET Name = '$Name', Password = '$Password'";
    $sql->do_sql($sql_str);
  }

  function Del($UserID) {
    $sql_str = "DELETE FROM User WHERE UserID = '$UserID'";
    $sql->do_sql($sql_str);
  }

  function Show ($Limit)
    if ($limit > 0){
      $sql_str = "SELECT * FROM User ORDER BY Name LIMIT $Limit";
    }else{
      $sql_str = "SELECT * FROM User ORDER BY Name";
    }
    $result = $sql->do_sql($sql_str);
    for ($i = 0; $i < COUNT($result); $i++){
      $data[$i]['UserID'] = ....
      $data[$i]['Name'] …
Run Code Online (Sandbox Code Playgroud)

php oop

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

robots.txt:除了少数选择之外,其他所有人都不允许,为什么不呢?

除了Ask,Google,Microsoft和Yahoo!之外,我一直在考虑禁止每一个爬虫.来自我的网站.

这背后的原因是我从来没有看到任何其他网络爬虫生成任何流量.

我的问题是:

  1. 有什么理由不去吗?
  2. 有人这样做过吗?
  3. 你有没有注意到任何负面影响?

更新:
到目前为止,我使用黑名单方法:如果我不喜欢爬虫,我将它们添加到禁用列表中.
我不是黑名单的粉丝,因为这是一个永无止境的故事:那里总有更多的爬虫.

我并不担心真正丑陋的行为不端的爬虫,它们会被自动检测和阻止.(无论如何,他们通常不会要求robots.txt :)

但是,许多爬虫在任何方面都没有真正行为不端,它们似乎对我/我的客户没有任何价值.
例如,有几个抓取工具为网站提供支持,声称他们将成为下一个Google; 只有更好.我从未见过来自他们的任何流量,我对他们变得比上面提到的四个搜索引擎中的任何一个都更好持怀疑态度.

更新2:
我一直在分析几个站点的流量一段时间,似乎对于合理的小站点,每天有100个独特的访问者(=我无法识别为不是人类的访问者).大约52%的生成流量来自自动化流程.

60%的自动访问者没有阅读robots.txt,40%(占总流量的21%)确实请求robots.txt.(包括Ask,Google,Microsoft和Yahoo!)

所以我的想法是,如果我阻止所有似乎没有为我生成任何价值的表现良好的爬虫,我可以将带宽使用和服务器负载减少大约12%-17%.

seo robots.txt web-crawler

5
推荐指数
0
解决办法
2476
查看次数

Javascript阻止匿名功能?

我经常要绑定?一些需要参数的函数.我使用的解决方案是将函数包装在匿名函数内部.

function foo( arg_0 ) {
   // do stuff with: arg_0
}

function bar() {
   var abc;
   // stuff happens
   abc = 'some value';
   attachEventHandler(elementId, 'click', function(){foo( abc );});
}
bar();
Run Code Online (Sandbox Code Playgroud)

有更优雅的方式吗?

javascript binding anonymous-function

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

如何在学义映射中描述多列外键

我们有一个数据库模式,以简化(略作作)的形式看起来像:

在此处输入图片说明

在列(domainId,groupId)上设置从用户到域的外键的位置,以确保引用完整性。此结构可以很好地用于预期目的。


但是,对于与同一个数据库通信的新应用程序,我现在需要为Doctrine创建一个映射,以映射上述结构,包括列上的外键关系。

我尝试了以下方法:

<entity name="User" table="users">
   <!-- other fields -->
   <many-to-one field="domain" target-entity="Domain" fetch="LAZY">
      <join-columns>
         <join-column name="domainId" referenced-column-name="domainId"/>
         <join-column name="groupId" referenced-column-name="groupId"/>
      </join-columns>
   </many-to-one>
</entity>
Run Code Online (Sandbox Code Playgroud)

但这给我一个错误: UnitOfWork.php line 2649: Undefined index: groupId

所以,我的问题是:

在主义中描述多列多对一外键关系的正确方法是什么?



为了完整起见,数据库为上述ERD中所述的架构创建代码:

CREATE TABLE `users` (
  `userId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `groupId` INT(10) UNSIGNED NOT NULL,
  `domainId` INT(10) UNSIGNED NOT NULL,
  `someData` VARCHAR(32),
  PRIMARY KEY (`userId`),
  KEY `key_users_groupId_domainId` (`groupId`, `domainId`)
) ENGINE=InnoDB;

CREATE TABLE `domains` (
  `domainId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `groupId` …
Run Code Online (Sandbox Code Playgroud)

php mysql doctrine foreign-key-relationship doctrine-mapping

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

如何自动摘录用户生成的内容?

我运行一个允许用户写博客文章的网站,我真的想总结一下书面内容并用它填充<meta name="description".../>-tag例如.

我可以使用哪些方法来自动汇总/描述用户生成内容的内容?
有没有(最好是免费的)方法解决了这个问题?

(我看过其他网站只是复制了前100个左右的单词,但这让我觉得它不是一个次优解决方案.)

nlp artificial-intelligence user-generated-content

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

PHP - 地址工作后的问号怎么办?

我一直在想像http://example.com/filename.php?dosomethinghttp://somesite.net?logoff这样的链接.

由于我对PHP知之甚少,而英语不是我的母语,我一直无法找到这样的好信息.

我知道http://mysite.com/edit.php?editpasswordhttp://mysite.com/edit.php?editname可以提供完全不同的内容,但我该如何实现呢?

假设我想将这些代码行实现为`editpassword

Password
<input type="password" name="password">
<input type="submit">
Run Code Online (Sandbox Code Playgroud)

这些行到?editname

Type your name
<input type="text" name="name">
<input type="submit">
Run Code Online (Sandbox Code Playgroud)

我怎么能在一个可能包含的文件中执行此操作

<?php 
require "includes/head.php"; 
require "includes/nav.php";
if(!isset($_SESSION['login'])){
    header("Location: index.php");
}
?>



            <div class="row-fluid">
        <div class="span3">
          <div class="well sidebar-nav">
            <ul class="nav nav-list">
            <li class="nav-header">New</li>
              <li><a href="#">sss</a></li>

            </ul>
          </div><!--/.well -->
        </div><!--/span-->
        <div class="span9">
          <div class="row-fluid">
            <div class="span9">
              <h2>Some header</h2>
              <p>Some text</p>
            </div><!--/span-->
          </div><!--/row-->
          <div class="row-fluid">
            ?editname & ?editpassword should appear here.
      </div><!--/row-->

            <?php require "includes/footer.php"; …
Run Code Online (Sandbox Code Playgroud)

php url

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

MySQL:"where子句中的列'column_name'是不明确的"

我加入了两张桌子

例如

table_A
+---------+-----------+-----------+
| user_id | ticket_id | user_name |
+---------+-----------+-----------+

table_B
+-----------+-------------+
| ticket_id | ticket_name |
+-----------+-------------+

如果我运行以下查询:

SELECT
  table_A.user_id
, table_A.user_name
, table_B.ticket_name
FROM table_A
LEFT JOIN table_B ON table_B.ticket_id = table_A.ticket_id
WHERE ticket_id = '1';

在实时服务器上,我们收到错误:" Column 'ticket_id' in where clause is ambiguous"
在测试服务器上接受查询.

我知道如何解决错误,这不是问题.

但是,如果我们的测试服务器不接受此查询并且(就像生产服务器那样)抛出错误,我会很高兴.

有没有人知道是否存在某种设置会使测试服务器像实时服务器一样抛出错误?

测试服务器
上的PS MySQL版本:Live服务器 上的MySQL版本:5.0.32-Debian_7etch5-log
5.0.41-community-log

mysql mysql-error-1052

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

为什么SRP不是明文等价的?

关于SRP协议:http: //en.wikipedia.org/wiki/Secure_remote_password_protocol

我可以看到会话密钥(K)的生成是完全安全的,但在最后一步中,用户发送K(M)证明.如果网络不安全且midlle中的攻击者捕获了M,他就可以在没有K的情况下进行身份验证.

security algorithm srp-protocol

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

Zend_Db_Select:在子选择上LEFT JOIN

我有一个查询,LEFT JOIN在子选择上执行.此查询在高负载环境中运行,并在设置要求内执行.查询(高度简化)看起来像:

SELECT
  table_A.pKey
, table_A.uKey
, table_A.aaa
, table_B.bbb
, alias_C.ccc
, alias_C.ddd
FROM table_A
INNER JOIN table_B ON table_A.pKey = table_B.pKey
LEFT JOIN (

    SELECT
      table_X.pKey
    , table_X.ccc
    , table_Y.ddd
    FROM table_X
    INNER JOIN table_Y ON table_X.pKey = table_Y.pKey

  ) AS alias_C ON table_A.uKey = alias_C.pKey;
Run Code Online (Sandbox Code Playgroud)

(由于各种原因,不可能将子选择重写为(直接)LEFT JOIN).

现在,我无法LEFT JOIN on subselect与之合作Zend_Db_Select.我已经尝试了我能想到的一切,但它不起作用.


所以我的问题是:

  • 是不是可以像上面描述的那样进行查询 Zend_Db_Select
  • 在Zend Framework中使用它需要什么语法?

subquery left-join zend-db zend-db-select

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

如何以编程方式将10 Gb数据上传到MySQL而不像PHPMyAdmin那样崩溃?

我很惊讶通过PHPMyAdmin向mysql数据库上传超过几兆字节的数据似乎是不可能的,而我可以轻松上传一个msaccess表,最多可达2千兆字节.

所以有没有php或任何可以允许这样做的脚本不像phpmyadmin?

mysql

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

PHP mcrypt使用类?

我很擅长这个.当我认为一个好的教程会做得更好时,试图理解PHP.net上mcrypt的手册页.所以我没有任何实质性的搜索.

我还尝试了使用mcrypt使用2个函数执行加密和解密的一个示例,但它给出了"密钥大小对于此算法来说太大"的警告.

任何人都可以请我写一个双向类来使用mcrypt进行加密/解密,这样我就可以理解库了吗?谢谢!

php encryption mcrypt

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