小编Dav*_*vid的帖子

将Couch-DB推广到管理层

我对CouchDB 0.10进行了一系列有点残酷的测试,并且它处理得很好(例如服务器的netstack陷入困境,但最好的是我可以告诉CouchDB仍在运行).不幸的是,如果我不能说服客户和雇主允许我使用它,这一切都不重要*.

我听到的常见恐惧.

  1. "这只是版本.10,甚至不是产品发布!"

  2. "但[MySQL | PostGres | Oracle]适用于[对象元数据存储|文字"文档"存储|等]!"

  3. "与XYZ相比,这看起来过于复杂(基于地图缩减的查询,REST api,JSON等)."

  4. "这到底是怎么回事?"

*通常我的规则是告诉客户我将解决问题,但不详细说明.不幸的是,有些客户认为自己是后座建筑师/工程师,或者理所当然地希望得到通知.

**先发制人地认为这与编程有关,因为如果管理层不能/不会看到跨越已知的风险的好处,那么工具有多好并不重要.

project-management couchdb

9
推荐指数
2
解决办法
559
查看次数

MSIE 8中JavaScript解析错误的原因

给出类似的东西

var obj = {
     foo: function(){
         try{
             doSomething();
          }catch(ex){
               //@TODO - report error
          }
     }
 }
Run Code Online (Sandbox Code Playgroud)

MSIE 8会在@TODO所在的地方抛出一个"在线#上缺少分号".

在我完成了几十个@ TODO之后!TODO,MSIE能够正确地解析脚本,生活还在继续.我在这里遗漏了什么,MSIE是否使用某种非标准机制,比如// @ PRAGMA?

谷歌搜索@TODO或// @并没有带来任何有用的东西.

javascript internet-explorer-8

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

django模板中的模数/模数等效运算符/函数?

我只是在学习django的模板系统并尝试做一些相对微不足道的事情:

<h2>State</h2>
<ul class="states">
{% for state in states %}
   <li class="state_elements" ><a href="/{{ state.name }}/"> {{ state.name }}</a></li>
   {% if forloop.counter \% 3 == 0 %}
   <br style="clear: both"/>
 {% endif %}
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

我收到语法错误,因为%是为模板语言保留的符号.这很不幸.

我已经找到了部分解决方案

{% cycle "" "" "" '<br style="clear: both"/>' %}
Run Code Online (Sandbox Code Playgroud)

但它让我感到非常奇怪.有没有更好的办法?

django templating operators

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

寻找将RETS集成到php网站的示例或帮助

我的任务是将RETS I集成到基于php的网站.我听说phrets是一个很好用的库.该网站位于共享托管平台(godaddy)上.我以为我可以用一些搜索字段构建一个页面并让它进行查询并在第二页上显示结果?我读过的其他地方名称听起来更像我仍然需要运行复制数据并在本地存储的本地服务器.现在我不知道该怎么做.任何建议或帮助将不胜感激.

php rets

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

从PHP扩展中抛出异常而不是错误

另一个同事和我一直在大量修改PHP扩展动物园管理员,但有一件事真正困扰我的是PHP错误的VS异常的依赖.

原始资料来源:http://github.com/andreiz/php-zookeeper/blob/master/php_zookeeper.c#L209

相反,抛出Zookeeper_NodeNotExists或类似的东西会更好,除了我不知道c中的API调用是什么.

我已经尝试使用谷歌搜索并在PHP语言中获得了一组例外的异常,PHP手册似乎没有提及它们,我不记得哪些PHP库存扩展为您抛出异常.那里有PHP/Zend c API的替代文档来源吗?

php c documentation

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

在Hive中为INSERT OVERWRITE SELECT指定压缩编解码器

我有一个蜂巢表

  CREATE TABLE beacons
 (
     foo string,
     bar string,
     foonotbar string
 )
 COMMENT "Digest of daily beacons, by day"
 PARTITIONED BY ( day string COMMENt "In YYYY-MM-DD format" );
Run Code Online (Sandbox Code Playgroud)

为了填充,我做的事情如下:

 SET hive.exec.compress.output=True;
 SET io.seqfile.compression.type=BLOCK;

 INSERT OVERWRITE TABLE beacons PARTITION ( day = "2011-01-26" ) SELECT
   someFunc(query, "foo") as foo,
   someFunc(query, "bar") as bar,
   otherFunc(query, "foo||bar") as foonotbar
   )
  FROM raw_logs
WHERE day = "2011-01-26";
Run Code Online (Sandbox Code Playgroud)

这会构建一个新的分区,通过deflate压缩各个产品,但这里的理想选择是通过LZO压缩编解码器.

不幸的是,我不确定如何实现这一点,但我认为它是众多运行时设置中的一个,或者可能只是CREATE TABLE DDL中的另一行.

compression configuration hadoop hive

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

用PDO支持服务器端预备语句?

给出类似的东西

DB()->prepare("SELECT * FROM mysql.general_log WHERE user_host LIKE ?");

$statement->execute( array('%console%') );

foreach($statement as $record){
    var_dump($record);
}
Run Code Online (Sandbox Code Playgroud)

general_log的内容是

*************************** 1. row ***************************
event_time: 2011-04-20 14:27:59
user_host: REDACTED[REDACTED] @ REDACTED [192.168.56.101]
thread_id: 30
server_id: 0
command_type: Connect
argument: REDACTED@REDACTED on REDACTED
*************************** 2. row ***************************
event_time: 2011-04-20 14:27:59
user_host: REDACTED[REDACTED] @ REDACTED [192.168.56.101]
thread_id: 30
server_id: 0
command_type: Query
argument: SELECT * FROM mysql.general_log WHERE user_host LIKE '%console%'
Run Code Online (Sandbox Code Playgroud)

我在一个令人厌恶的框架内工作(没有单元测试,没有文档,没有ryhme或原因)所以有可能在某个地方有人明确地禁用了MySQL准备语句,迫使PDO使用模拟模式......或者这是预期的行为?

PHP是PHP Version 5.2.10-2ubuntu6 MySQL的PDO驱动程序,客户端库版本5.1.41

更新:PDO()使用以下属性构造

PDO::ATTR_PERSISTENT => false
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo prepared-statement

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

如何使用 SQLAlchemy 上下文管理器并仍然获取行 ID?

我正在使用提供的contextmanagerSQLAlchemy来为我处理会话。我不明白的是如何获取自动生成的 ID,因为 (1) 在commit()调用之后才创建 ID (2) 新创建的实例仅在上下文管理器的范围内可用:

def save_soft_file(name, is_geo=False):
    with session_scope() as session:
        soft_file = models.SoftFile(name=name, is_geo=is_geo)
        session.add(soft_file)
        # id is not available here, because the session has not been committed
    # soft_file is not available here, because the session is out of context
    return soft_file.id
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

python transactions sqlalchemy contextmanager

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

重用 sqlite3 游标有哪些副作用?

作为一个宠物项目,我一直在编写自己的 ORM,以帮助我更好地理解生产级 ORM(如 Peewee 或更复杂的 sqlalchemy)所做的决策。

根据我的标题问题,是生成一个游标并将其重用于多个 SQL 执行还是为每个事务生成一个新游标更好?

我已经猜测过要避免状态问题(没有提交的事务),但是是否还有另一个原因为什么最好为每个操作(插入、更新、选择、删除或创建)使用一个游标?

python sqlite orm

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

基于字符串的协议安全性基础知识

我不确定如何说出这个问题,如果它与其他内容重复,请提前道歉.

我想要理智地检查我是如何保护我的扭曲应用程序并认为我已经做得很好,但是自从我编写了使用原始或托管套接字的任何东西以来已经过去了十多年.

身份验证事务:客户端连接并立即使用16个字符的十六进制字符串发送质询响应.客户端获取用户名和密码,密码转换为sha1(salt + sha1(密码)),凭据以{username,password}的形式发送回服务器.在服务器端,身份验证执行标准查找模式(如果用户存在并且密码等于输入然后授予).

如果用户和客户端之间的连接丢失,则协议类将自身标记为脏,并将自身与用户对象断开连接.在此之后的任何时候,为了再次访问用户对象,客户端必须使用新的盐重复身份验证过程.

我错过了什么吗?对于基于字符流的协议,是否有更好/更安全的方法?

python encryption networking cryptography twisted

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